数据处理-csv,pandas

数据处理-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]])
posted @ 2021-02-02 11:23  开普勒醒醒吧  阅读(222)  评论(1编辑  收藏  举报