具有以下具有不同列长度的数据集:
5.0 0.4 0.92 11.45 44.18 33.66
3.2 4.92 7.2 11.73 46.98 118.63
3.6 11.43 14.32 8.88 71.3
1.99 9.12 11.71 15.56 20.24
0.77 21.92 2.47 33.99 80.68
0.91 4.32 14.6 15.69 127.8
2.67 2.1 5.14 7.96 46.88
0.76 0.44 5.46 71.13 16.62
3.52 1.15 6.21 31.84 10.33
0.93 2.29 0.83 58.0 18.32
0.56 1.61 5.09 20.07 10.1
0.02 1.23 5.95 16.24
1.5 3.23 4.21 18.9
我尝试使用 genfromtxt,但它只返回数据中的第一行。
data = np.genfromtxt(filename,dtype=float,usecols=range(6))
有没有我错过的论点,我不知道可以解决这个问题? 如果我不使用 usecols 参数,则数据将作为一列返回。设置 delimiter='' 返回相同的结果。 理想情况下,我想读取数据,然后为每列分开。
Numpy 数组必须是规则的,所以genfromtxt
没有为此完成。这样的数据pandas
可能更容易使用,默认用NaN填充缺失值:
In [7]: df.pd.read_csv('file.txt',sep=' *',engine='python',header=None)
Out[7]:
0 1 2 3 4 5
0 5.00 0.40 0.92 11.45 44.18 33.66
1 3.20 4.92 7.20 11.73 46.98 118.63
2 3.60 11.43 14.32 8.88 71.30 NaN
3 1.99 9.12 11.71 15.56 20.24 NaN
4 0.77 21.92 2.47 33.99 80.68 NaN
5 0.91 4.32 14.60 15.69 127.80 NaN
6 2.67 2.10 5.14 7.96 46.88 NaN
7 0.76 0.44 5.46 71.13 16.62 NaN
8 3.52 1.15 6.21 31.84 10.33 NaN
9 0.93 2.29 0.83 58.00 18.32 NaN
10 0.56 1.61 5.09 20.07 10.10 NaN
11 0.02 1.23 5.95 16.24 NaN NaN
12 1.50 3.23 4.21 18.90 NaN NaN
你回到 numpy 数组与 df.values
.