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

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

我想知道是否有一种直接的方法将CSV文件的内容导入到记录数组中,就像R的方式一样read.table()read.delim(),和read.csv()家庭将数据导入R的数据框架?

或者是最好的使用方法csv.Reader()然后应用这样的方法numpy.core.records.fromrecords()?


慕雪6442864
浏览 1503回答 3
3回答

Smart猫小萌

你可以用Numpy的genfromtxt()方法执行此操作,方法是设置delimiter用逗号表示。from numpy import genfromtxt my_data = genfromtxt('my_file.csv', delimiter=',')有关该函数的更多信息可在其各自的文献资料.

森栏

我计时了from&nbsp;numpy&nbsp;import&nbsp;genfromtxt genfromtxt(fname&nbsp;=&nbsp;dest_file,&nbsp;dtype&nbsp;=&nbsp;(<whatever&nbsp;options>))对决import&nbsp;csvimport&nbsp;numpy&nbsp;as&nbsp;npwith&nbsp;open(dest_file,'r')&nbsp;as&nbsp;dest_f: &nbsp;&nbsp;&nbsp;&nbsp;data_iter&nbsp;=&nbsp;csv.reader(dest_f, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delimiter&nbsp;=&nbsp;delimiter, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;quotechar&nbsp;=&nbsp;'"') &nbsp;&nbsp;&nbsp;&nbsp;data&nbsp;=&nbsp;[data&nbsp;for&nbsp;data&nbsp;in&nbsp;data_iter]data_array&nbsp;=&nbsp;np.asarray(data,&nbsp;dtype&nbsp;=&nbsp;<whatever&nbsp;options>)在460万行中,大约有70列,发现NumPy路径花了2分钟16秒,CSV-列表理解方法花了13秒。我建议使用CSV列表理解方法,因为它很可能依赖于预编译库,而不是像NumPy那样依赖解释器。我怀疑熊猫的方法会有类似的翻译开销。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python