设我有一个numpy数组:
data = np.array([[1,1,1],[2,2,2],[3,3,3]]) 我有一个对应的“向量”:
vector = np.array([1,2,3]) 我如何data沿每一行进行减法或除法运算,所以结果是:
sub_result = [[0,0,0], [0,0,0], [0,0,0]] div_result = [[1,1,1], [1,1,1], [1,1,1]] 长话短说:如何使用对应于每一行的1D标量数组在2D数组的每一行上执行操作?
问题来源于stack overflow
干得好。您只需要结合广播使用None(或np.newaxis):
In [6]: data - vector[:,None] Out[6]: array([[0, 0, 0], [0, 0, 0], [0, 0, 0]])
In [7]: data / vector[:,None] Out[7]: array([[1, 1, 1], [1, 1, 1], [1, 1, 1]])
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。