为了账号安全,请及时绑定邮箱和手机立即绑定

Python:如何在数组中进行条件运算

Python:如何在数组中进行条件运算

白衣染霜花 2021-04-25 01:01:24
我有一个 维度numpy数组和一个包含该数组单元格信息的数据框。MNxMtmp如果必须将值添加到的单元格中M,我可以M[tmp.a, tmp.b] = tmp1.n但是我只想将值添加到其中的M < tmp.n像这样的单元格中M[M[tmp.a, tmp.b] < tmp1.n] = tmp1.n我以这种方式解决了s = shape(M)M0 = np.zeros((s[1], s[0]))M0[tmp1.a, tmp1.b] += tmp1.nidx = np.where(M < M0)M[idx[:][0], idx[:][1]] = M0[idx[:][0], idx[:][1]]
查看完整描述

2 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

这可以使用Numpy逻辑索引来完成


# a logical (boolean) array

log = M < tmp.n


# apply it to source and target and use `+=` to add the values

M[log] += tmp.n[log]

如果数组的形状不同,则还可以选择特定的尺寸:


log = M[:, 0] < tmp.n


# apply it to source and target and use `+=` to add the values

M[log, 0] += tmp.n[log]


查看完整回答
反对 回复 2021-05-11
  • 2 回答
  • 0 关注
  • 269 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信