python - 如何使用 NumPy 从列表创建多维数组?

标签 python arrays list numpy

应该有一种方法可以像这样转换列表:

a = [[1], [2], [3], [4], [5]]
b = [[6], [7], [8], [9], [10]]

像这样:

c = [[1, 6], [2, 7], [3, 8], [4, 9], [5, 10]]

现在我正在使用 for 循环来完成此任务。

c = []
for pos in range(len(a)):
    c.append([a[pos], b[pos]])

无论如何,for 循环很慢,听起来不像电视广告,但必须有更好的方法!

最佳答案

一种方法是使用 column_stack :

>>> np.column_stack((a, b))
array([[ 1,  6],
       [ 2,  7],
       [ 3,  8],
       [ 4,  9],
       [ 5, 10]])

column_stack 首先将列表强制转换为数组并返回一个数组。

因为 ab 都是单个元素列表的列表,所以当被强制转换为数组时,每个都变成一个二维列向量。因此,您也可以使用 hstackconcatenate实现相同的目的(他们还将列表强制转换为具有我们想要的正确形状的数组)。使用 np.hstack((a, b))np.concatenate((a, b), axis=1)

为了完整起见,也可以使用 np.c_通过编写 np.c_[a, b]。不过,其他方法更直接,也可能更快。

关于python - 如何使用 NumPy 从列表创建多维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34483800/

相关文章:

python - 从 Python 中的列表访问元组

python - 如何从包含日期和列表中其他字符串的字符串列表中解析月份?

python - 如何将 attr 传递给 forms.CharField

python - 由于安装后脚本 Win 2 错误,Anaconda 安装失败

python - 插入项目并更改数组的维度

ios - 如何将数组的数组放入 Swift 1.2 中的另一个数组

python - 如何启用跨 Django 站点的身份验证,并透明地保留任何 POST 或 GET 数据?

arrays - Typescript - 降序排列字符串

java - XML 列表到 Jaxb

python - 为什么Python3 typing.List 是list 的子类,而list 又是typing.List 的子类?