为了账号安全,请及时绑定邮箱和手机立即绑定

如何将CSV数据读入NumPy中的记录数组?

如何将CSV数据读入NumPy中的记录数组?

慕雪6442864 2019-06-29 17:26:54
如何将CSV数据读入NumPy中的记录数组?我想知道是否有一种直接的方法将CSV文件的内容导入到记录数组中,就像R的方式一样read.table(), read.delim(),和read.csv()家庭将数据导入R的数据框架?或者是最好的使用方法csv.Reader()然后应用这样的方法numpy.core.records.fromrecords()?
查看完整描述

3 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

你可以用Numpy的genfromtxt()方法执行此操作,方法是设置delimiter用逗号表示。

from numpy import genfromtxt
my_data = genfromtxt('my_file.csv', delimiter=',')

有关该函数的更多信息可在其各自的文献资料.


查看完整回答
反对 回复 2019-06-29
?
森栏

TA贡献1810条经验 获得超5个赞

我计时了

from numpy import genfromtxt
genfromtxt(fname = dest_file, dtype = (<whatever options>))

对决

import csvimport numpy as npwith open(dest_file,'r') as dest_f:
    data_iter = csv.reader(dest_f,
                           delimiter = delimiter,
                           quotechar = '"')
    data = [data for data in data_iter]data_array = np.asarray(data, dtype = <whatever options>)

在460万行中,大约有70列,发现NumPy路径花了2分钟16秒,CSV-列表理解方法花了13秒。

我建议使用CSV列表理解方法,因为它很可能依赖于预编译库,而不是像NumPy那样依赖解释器。我怀疑熊猫的方法会有类似的翻译开销。


查看完整回答
反对 回复 2019-06-29
  • 3 回答
  • 0 关注
  • 1502 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信