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

yipeiwu_com7年前Python基础

利用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文件数据到数组(矩阵)的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中不同进制互相转换(二进制、八进制、十进制和十六进制)

在我的印象里面进制互相转换确实是很常见的问题,所以在Python中,自然也少不了把下面这些代码收为util。 这是从网上搜索的一篇也的还可以的Python进制转换,经过验证可以使用。下面...

在NumPy中创建空数组/矩阵的方法

如何在NumPy中创建空数组/矩阵? 在添加行的情况下,你最好的选择是创建一个与数据集最终一样大的数组,然后向它添加数据 row-by-row: >>> impo...

详解Django通用视图中的函数包装

用函数包装来处理复杂的数据过滤 另一个常见的需求是按URL里的关键字来过滤数据对象。 之前,我们在URLconf中硬编码了出版商的名字,但是如果我们想用一个视图就显示某个任意指定的出版商...

Python带动态参数功能的sqlite工具类

本文实例讲述了Python带动态参数功能的sqlite工具类。分享给大家供大家参考,具体如下: 最近在弄sqlite和python 在网上参考各教程后,结合以往java jdbc数据库工...

Python正则表达式使用经典实例

下面列出Python正则表达式的几种匹配用法,具体内容如下所示: 此外,关于正则的一切http://deerchao.net/tutorials/regex/regex.htm 1....