如果我有一个数组: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/