python 如何快速提取csv中的数据矩阵?

本来用csv.reader的,读出来后是字符列表,所以得转数字,不曾想,速度实在太慢!数据规模是
(42000,785),也不是特别大吧?
def csv2matrix():
'获取csv中的数据'
l = []
reader = csv.reader(file('train.csv', 'rb'))
for line in reader:
l.append(line)
l.remove(l[0])
l = array(l)
label = l[:, 0]
data = l[:, 1:]
return nomalizing(toInt(data)), toInt(label)

def toInt(array):
array=mat(array)
m,n=shape(array)
newArray=zeros((m,n))
for i in xrange(m):
for j in xrange(n):
newArray[i,j]=int(array[i,j])
return newArray
在toInt这里运行了好久。

有什么其他方法可以加快速度吗?

用pandas库,


import pandas as pd
data = pd.read_csv('train.csv')
train_data = data.values[0:TRAIN_NUM,1:]
train_label = data.values[0:TRAIN_NUM,0]


study.163.com/course/courseMain.htm?courseId=1000035

机器学习正好讲了这个手写识别的例子

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-01-17

Python使用Tensorflow读取CSV数据训练DNN深度学习模型