python - 迭代 NumPy 数组的列和另一个数组的元素?

标签 python arrays numpy

我正在尝试复制 zip(a, b) 的行为,以便能够沿着两个 NumPy 数组同时循环。特别是,我有两个数组 ab:

a.shape=(n,m)
b.shape=(m,) 

我想为每个循环获取一列a和一个b元素。

到目前为止,我已经尝试过以下方法:

for a_column, b_element in np.nditer([a, b]):
    print(a_column)

但是,我打印的是元素 a[0,0] 而不是我想要的列 a[0,:]

我该如何解决这个问题?

最佳答案

您仍然可以在 numpy 数组上使用 zip,因为它们是可迭代的。

在您的情况下,您需要首先转置a,使其成为形状(m,n)的数组,即长度的可迭代对象>米:

for a_column, b_element in zip(a.T, b):
    ...

关于python - 迭代 NumPy 数组的列和另一个数组的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25961545/

相关文章:

python - pandas 中时间戳错误 : dtype ('<m8[D]' ) 的两个连续行之间的天数

arrays - 获取 Golang 标志作为字节数组

python-2.7 - 在python中使用Abs查找函数的导数

python - Numpy 按绝对值数字化包含的 bin 边缘

python - 如何使用Numpy矩阵运算一次计算多个样本?

python - 每次 python 脚本运行时更改 Excel 工作表

python - 如何使用 ctypes 加载链接到非默认 libc 的库?

python - 为什么我无法执行存储在环境变量中的 shellcode?

javascript - 使用随机/数组生成的坐标创建 Canvas 线。不工作,为什么?

arrays - 为什么数组插入的时间复杂度是O(n)而不是O(n+1)?