我有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数组。
答案 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