数据处理-Pandas
记录数据处理时用到的方法,数据处理相关应用等内容。
一、读写csv数据
1.读取csv文件数据:
import csv
csv_file=csv.reader(open('seismic_data_1.csv','r'))
#csv_file输出为一个对象,需要遍历输出每一行的信息
content=[]
for line in csv_file:
content.append(line)
2.数据写入csv文件:
#以生成的地震数据存储到csv文件中为例
for j in range(Generate_Num):
#generating the parameters for each sample
f0_e = f0[0] + random.uniform((f0[1] - f0[0]) / Generate_Num * j, (f0[1] - f0[0]) / Generate_Num * (j+1))
tau_e = generate_rand_parameter(tau)
v_e = generate_rand_parameter(v)
amp_e = generate_rand_parameter(amp)
print(f0_e,tau_e,v_e,amp_e)
#generating data
nt, simu_data= generate_simu_data(tau_e, i_h, f0_e, dt, tmax, v_e, amp_e)
#saving data as a csv data
with open(save_path+'simulating_data_'+str(j)+'.csv', 'w', newline='') as save_file:
wr = csv.writer(save_file, dialect='excel', quoting=csv.QUOTE_NONNUMERIC)
for i in range(nt):
wr.writerow(list(simu_data[i,:]))
使用pandas读取csv
Pandas是一种非常高效的数据分析工具,Pandas支持多种格式的数据导入,这里介绍使用pandas如何从csv中导入数据。
1.使用read_csv()函数读取数据
import pandas as np
data = pd.read_csv('seismic_data_1.csv')
2.在读取过程中,将数据的第一行变成了数据名,这时只需要更改下read_csv()中的参数即可
data = pd.read_csv('seismic_data_1.csv',header = None)
read_csv()函数还有其他参数,可以参考官方文档,以后用到了会在这里记录。
3.类型转换
pandas提供类型转换函数 to_numpy()
data = pd.read_csv('seismic_data_1.csv')
data.to_numpy()
array([[ 0.35845876, 0.15260927, 0.03593837, ..., 0.04770185,
0.28014378, -0.12329484],
[ 0.1168635 , -0.23400821, -0.35808444, ..., -0.23845316,
0.05328467, -0.26924367],
[ 0.10329381, 0.11623269, -0.15567909, ..., -0.01518019,
-0.23273266, 0.18962241],
...,
[ 0.10865523, 0.09198931, -0.26874909, ..., -0.04439783,
0.12176438, 0.15913246],
[ 0.39535558, 0.09220967, 0.1386671 , ..., 0.23674758,
0.3352438 , 0.04103996],
[ 0.40959121, 0.10707172, -0.22654073, ..., -0.32948795,
-0.32734573, -0.00548809]])