我们如何加载带有制表符分隔值但没有固定列大小的文本文件,以及跳过缺失值的方式完全以列表/数组或每个行(或整个行)包含numpy数组的任何容器结束numpy array? - >可能是不可能的,因为numpy需要固定的大小)?
这是否只能通过使用python读取每一行然后使用loadtxt
行转换为一维数组来实现?
list=[]
for lineString in file:
list.append( np.loadtxt(lineString) )
还是以某种方式加载txt?
答案 0 :(得分:1)
也许你可以使用pandas
如果您的文件如下所示:
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]])