python - 使用 python 数组列进行算术运算

标签 python numpy arithmetic-expressions

如果我有一个数组:A = np.array([[1,2,0],[5,6,0]]) 。如何用前两列的总和或其他列的其他算术组合替换第三列?

在该示例中,将第三列计算为前两列之和将得出:np.array([[1,2,3],[5,6,11]]) .

我已经尝试过A[:2] = A[:,0] + A[:,1]A[:2] = A[:,0].T + A[:,1].T 。我搜索过添加列,但找到了插入列的方法。

import numpy as np

A = np.array([[1,2,3],[5,6,7]])
A[:2] = A[:,0] + A[:,1]

在 R 中这非常简单,但我没有看到在 Python 中实现这一点的简单方法。

最佳答案

你就快到了:

>>> A[:,2] = A[:,0] + A[:,1]
>>> A
array([[ 1,  2,  3],
       [ 5,  6, 11]])

A[:, k]中:

  • A 是您要索引的数组
  • : 作为第一个索引表示“所有行”
    • 例如,A[:, :] 表示“所有行和所有列”
  • k 作为第二个索引表示“第 k 列”
    • 例如,A[1, 2] 表示“第 1 行第 2 列的元素”
    • A[2, :] 表示“第 2 行及其所有列”

这可以推广到任意数量的维度。

关于python - 使用 python 数组列进行算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69368746/

相关文章:

python - 为什么设置默认参数然后在python中运行if语句?

python - yield 比返回慢。为什么?

Python 数组到一维向量

python - 如何创建特定大小的二项式数组

javascript - JavaScript 锯齿状多维数组中的逐元素算术运算

在 bash 和子进程上运行时 python 不同的输出

python - 在 GitLab 中导入 ZAP Docker 镜像

python - 如何在二维数组上加速 python curve_fit?

java - 算术表达式的正则表达式

C拼图;乘以 Char 的