更新 numpy 矩阵的单个元素的 Pythonic 方法?

标签 python numpy matrix

假设我有一个函数调用f(m1),其中m1是一个numpy矩阵。现在,我想在与 m1 几乎相同的矩阵上调用 f:

m2 = m1.copy()
m2[ 2, 7 ] = 43 # or m2[ 2, 7 ] += 43
f(m2)

是否有一个优雅的 f( ... ) 单行代码可以做到这一点?

最佳答案

在Python中,每个赋值都是一个语句而不是一个表达式,所以你不能这样做 -

f(m2[2,7] = 43)

如果 (a = 1+2)

我相信你能做到

f( modify_matrix(m1) )

并定义一个单独的方法来修改 m1 矩阵。

def modify_matrix(m1):
     m1[2,7] = 2
     return m1

但是,如果您只需要添加一行修改矩阵,那么上述选项会更复杂。

关于更新 numpy 矩阵的单个元素的 Pythonic 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20142545/

相关文章:

python - 将结构化 numpy 数组(包含子数组)转换为 pandas 数据帧

python - pandas:将距离矩阵转换为字典,其中元素按接近度排序

python - 从一个 numpy 数组中获取另一个数组中值的频率

r - 将列向量乘以 RcppArmadillo 中的数值标量

math - 将屏幕上的点反投影回等距投影的世界

r - 数据框或矩阵的 R 对象的泛化

python - 如何检查文件中的行数是否等于每行中的字符数?

python - 加速 GTK TreeView

python - 如何在类中声明装饰器来装饰已经装饰的继承方法?

python - python 中的 "Permission Denied"从 jenkins 复制文件,而不是从 shell