Python 将列表转换为Numpy ndarray
我想转换这个列表Python 将列表转换为Numpy ndarray,python,numpy,Python,Numpy,我想转换这个列表 li = [3, 2 , 1 , 4] 到下面的NumPy Ndaray [[3], [2], [1], [4]] 我尝试了np.asarray(),但它没有将其转换为ndarray。有没有办法提到轴心国 可以使用创建嵌套列表,然后使用将嵌套列表转换为Numpy ndarray 可以使用创建具有额外轴的阵列 >>> np.expand_dims(li, -1) array([[3], [2], [1], [4]])
li = [3, 2 , 1 , 4]
到下面的NumPy Ndaray
[[3], [2], [1], [4]]
我尝试了np.asarray()
,但它没有将其转换为ndarray
。有没有办法提到轴心国 可以使用创建嵌套列表,然后使用将嵌套列表转换为Numpy ndarray
可以使用创建具有额外轴的阵列
>>> np.expand_dims(li, -1)
array([[3],
[2],
[1],
[4]])
或者,如果愿意,在创建阵列后添加轴
np.array(li)[..., np.newaxis]
最短的是我相信
np.c_[li]
# array([[3],
# [2],
# [1],
# [4]])
对于一般尺寸和轴:
dummy, ndim, axis = 0, 4, 2
np.r_[f'{dummy},{ndim},{axis}', li]
# array([[[[3],
# [2],
# [1],
# [4]]]])
_.shape
# (1, 1, 4, 1)
另一个例子:
dummy, ndim, axis = 0, 3, 0
np.r_[f'{dummy},{ndim},{axis}', li]
# array([[[3]],
# [[2]],
# [[1]],
# [[4]]])
_.shape
# (4, 1, 1)
asarray
确实生成ndarray
:
In [41]: li = [3, 2 , 1 , 4]
In [42]: x = np.asarray(li)
In [43]: x
Out[43]: array([3, 2, 1, 4])
In [44]: type(x)
Out[44]: numpy.ndarray
要生成额外的嵌套,需要添加尺寸标注(以一种或另一种方式):
昨天:什么是
np.asarray()
产生的?它不是ndarray
?我希望它能产生一个一维数组。昨天也有人问过同样的问题:可以说更一般一点,“有没有办法提到轴?”同意@hpaulj的说法,同样的问题也被问到了。在问题的一个注释中,有一个明确的答案是使用np。重塑。
In [41]: li = [3, 2 , 1 , 4]
In [42]: x = np.asarray(li)
In [43]: x
Out[43]: array([3, 2, 1, 4])
In [44]: type(x)
Out[44]: numpy.ndarray
In [45]: np.asarray(li)[:,None]
Out[45]:
array([[3],
[2],
[1],
[4]])