numpy 我如何在np数组中分解一个维度?

falq053o  于 2023-04-30  发布在  其他
关注(0)|答案(2)|浏览(146)

我有一个numpy数组:

arr=[[1]
[2]
[3]]

但我需要这个:

arr2= [1 2 3]

你要怎么做这个?
我试着这样做:

arr2=np.empty(1)
for i in range(len(arr)):
arr2=np.append(arr2, arr[i][0])

但是它在arr2的开始给了我一个额外的,更小的数字,我不明白为什么。

myzjeezk

myzjeezk1#

尝试切片:

arr = np.array([[1], [2], [3]])
arr[:, 0]
>>> array([1, 2, 3])

语法[:, 0]表示 * 对于每个子数组,获取第一个元素 *。

polkgigr

polkgigr2#

既然你从一个列表开始,并且想要一个列表结果,那么只需要使用一个列表解析。不需要numpy行李。

In [21]: alist = [[0],[1],[2]]
In [22]: alist
Out[22]: [[0], [1], [2]]
In [23]: [x[0] for x in alist]
Out[23]: [0, 1, 2]

至于开头的那个额外数字,看看你开头的内容:

In [24]: np.empty(1)
Out[24]: array([1.e-08])

如果你在上面附加了什么,你仍然有多余的。np.empty(1)[]不同(尽管该列表被称为空列表)。

相关问题