我想将一个包含浮点数的简单单列文件放入多个numpy数组中,每个数组都使用相同数量的行创建。
因此,例如,如果文件有180行,我想创建3个numpy数组,一个包含第1-60行的数据,第二个从61到120,第三个从121到180。
我试图使用np.fromfile()函数,但这似乎无法响应文件指针(如,查找第1行,读取60行,然后搜索到61,读取60) ,...)。有谁知道如何有效地完成这项工作?
答案 0 :(得分:2)
arr1, arr2, arr3 = np.loadtxt(path).reshape(3,-1)
只需将所有数据读入数组,然后将数组重新整形为3行。调用-1
的{{1}}将被reshape
替换为任何数字都有意义。例如,如果数组的长度为180,那么在重新整形时,该数组将具有60列。请注意,原始数组的长度必须完全可被3整除。
可替换地,
reshape
这更加健壮,因为arr1, arr2, arr3 = np.array_split(np.loadtxt(path), 3)
将数组拆分为3个部分,即使原始数组的长度不能被3整除。