Python 如何在没有固定列大小的情况下使用numpy加载数据
我们如何加载一个以制表符分隔的值但没有固定列大小的文本文件,以完全跳过缺少的值的方式,以一个列表/数组或任何包含每行numpy数组的容器结束(或一个完整的numpy数组?->可能是不可能的,因为numpy需要固定的大小) 只有用python读入每一行,然后用Python 如何在没有固定列大小的情况下使用numpy加载数据,python,arrays,text,numpy,Python,Arrays,Text,Numpy,我们如何加载一个以制表符分隔的值但没有固定列大小的文本文件,以完全跳过缺少的值的方式,以一个列表/数组或任何包含每行numpy数组的容器结束(或一个完整的numpy数组?->可能是不可能的,因为numpy需要固定的大小) 只有用python读入每一行,然后用loadtxt将该行转换为1D数组,才能做到这一点吗 list=[] for lineString in file: list.append( np.loadtxt(lineString) ) 或者可以使用load txt吗?也许您
loadtxt
将该行转换为1D数组,才能做到这一点吗
list=[]
for lineString in file:
list.append( np.loadtxt(lineString) )
或者可以使用load txt吗?也许您可以使用
如果您的文件如下所示:
1 2 3 4 5 6
1 2
8.0 9 97 54
然后这样做:
import pandas as pd
pd.read_csv('yourfile.txt',sep='\t')
给出:
1 2 3 4 5 6
0 1 2 NaN NaN NaN NaN
1 8 9 97 54 NaN NaN
要转换为numpy数组,请执行以下操作:
np.array(pd.read_csv('yourfile.txt',sep='\t'))
array([[ 1., 2., nan, nan, nan, nan],
[ 8., 9., 97., 54., nan, nan]])