numpy.genfromtxt展平了我的数据

时间:2016-09-22 02:33:05

标签: python numpy

我有row.csv

1, 2, 3, 4, 5

column.csv

1,
2,
3,
4,
5

numpy.genfromtxt("one-of-the-above.csv", delimiter=",")将它们读入同一个数组:np.array([1,2,3,4,5])

但我希望获得不同的2D数组。

1 个答案:

答案 0 :(得分:1)

这是一个"功能" genfromtxt。在它返回从文件中读取的数据之前,它使用numpy.squeeze来消除琐碎的维度。

如果您使用loadtxt,则可以使用参数ndmin=2来确保结果始终是二维数组。

例如:

In [15]: !cat one_row.csv
1, 2, 3, 4, 5

In [16]: !cat one_col.csv
1
2
3
4
5

In [17]: np.loadtxt('one_row.csv', delimiter=',', ndmin=2)
Out[17]: array([[ 1.,  2.,  3.,  4.,  5.]])

In [18]: np.loadtxt('one_col.csv', delimiter=',', ndmin=2)
Out[18]: 
array([[ 1.],
       [ 2.],
       [ 3.],
       [ 4.],
       [ 5.]])

如果您希望将此选项添加到genfromtxt,请添加评论或"竖起大拇指"我在这里为它创建的问题:https://github.com/numpy/numpy/issues/4811