我有几个文件,我想从中输入数据并可能一次性完成,我的意思是当时不提取每一列。
如果它只是一个文件,我会使用:
data1, data2, data3 = zip(*numpy.loadtxt("myfile.data",usecols=((0,3,4))))
"解压缩"阅读它们后的列,但由于我有几个输入文件,我不知道如何调整它,除了逐个读取它们并追加到最后;但是我读了大量的数据(大约20gb),所以我认为这不是最有效的方法(可能涉及大量数据在RAM中移动)。
你知道有什么事做得更合适吗?
提前谢谢。
答案 0 :(得分:1)
如果data1
data2
data3
仅占您20 gb数据的一小部分(例如,如果有很多列,而您只从其中取出3个),这些行将会立即将它们全部读给RMA:
data_all=np.vstack([np.loadtxt(item,usecols=((0,3,4))) for item in your_file_list])
data1, data2, data3=data_all.T