使用 genfromtxt 读取具有不同列长度的数据



具有以下具有不同列长度的数据集:

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 .

相关内容

  • 没有找到相关文章

最新更新