2

我有一种感觉,这很容易,但我不知道该怎么做。假设我有一个 Numpy 数组

[1,2,3,4]

我如何将其转换为

[[1],[2],[3],[4]]

以一种简单的方式?

谢谢

4

4 回答 4

3

您可以使用np.newaxis

>>> a = np.array([1,2,3,4] 
array([1, 2, 3, 4])
>>> a[:,np.newaxis]
array([[1],
       [2],
       [3],
       [4]])
于 2013-07-04T19:31:43.967 回答
2

您可以使用numpy.reshape

>>> import numpy as np
>>> a = np.array([1,2,3,4])
>>> np.reshape(a, (-1, 1))
array([[1],
       [2],
       [3],
       [4]])

如果您想要正常的 python 列表,请使用list comprehension

>>> a = np.array([1,2,3,4]) 
>>> [[x] for x in a]
[[1], [2], [3], [4]]
于 2013-07-04T19:28:12.887 回答
1

想到的最明显的方法是:

>>> new = []
>>> for m in a:
        new.append([m])

但这会创建普通 Python 的列表列表,我不确定这是否是您想要的...

于 2013-07-04T19:35:17.907 回答
1
>>> A = [1,2,3,4]

>>> B = [[x] for x in A]

>>> print B
[[1], [2], [3], [4]]
于 2013-07-04T19:40:31.057 回答