当前位置:首页 >> 脚本专栏

python 读取.csv文件数据到数组(矩阵)的实例讲解

利用numpy库

(缺点:有缺失值就无法读取)

读:

import numpy 
my_matrix = numpy.loadtxt(open("1.csv","rb"),delimiter=",",skiprows=0) 

写:

numpy.savetxt('2.csv', my_matrix, delimiter = ',')

可能遇到的问题:

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position

原因是文件路径名中含有转义字符,将路径中的\换成\即可。

利用pandas库

读:(可以处理缺失值)

> import pandas as pd
> df = pd.read_csv('D:\Python\\l\B_train1.csv')
> df.values
> df.as_matrix(columns=None)

写:(将dataFrame直接写入)

> testB = test[test.intersection_id.isin(["B"])]
> pd.DataFrame.to_csv(testB,"D:\Python\\k\\t5B.csv")
#testB是个dataFrame

利用sklearn包中的Imputer处理缺失值

> m = df.as_matrix(columns=None)
> from sklearn.preprocessing import Imputer
> imp = Imputer(missing_values='NaN', strategy='mean', axis=0)
> imp.fit(m)
Imputer(axis=0, copy=True, missing_values='NaN', strategy='mean', verbose=0)
> imp.transform(m)

以上这篇python 读取.csv文件数据到数组(矩阵)的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。