【问题标题】:divide a ndarray by narray element-wise将 ndarray 除以 narray 元素
【发布时间】:2018-07-23 23:37:47
【问题描述】:

我有这个 ndarray(不是矩阵):

mx = np.array([[10,25,33],[3,1,5],[50,50,52]])

[[10 25 33]
 [ 3  1  5]
 [50 50 52]]

我想通过将每个元素除以列的总和来获得一个 ndarray 的份额。所以这个操作的结果:

[[10/63 25/76 33/90]
 [ 3/63  1/76  5/90]
 [50/63 50/76 52/90]]

我可以的

np.true_divide(mx,mx.sum(axis=0))

是否有一些内置函数来计算份额或类似的东西?

【问题讨论】:

  • 在什么情况下不起作用?我尝试了代码,它完全符合您在 Python3 中的要求。
  • 返回全0。刚刚发现了np.true_divide(),所以解决了。
  • 只需使用mx / mx.sum(axis=0)。如果这样划分错误,请在文件顶部使用from __future__ import division

标签: python-2.7 numpy multidimensional-array division


【解决方案1】:

问题与int 在 python2 和 python3 之间的划分中的行为方式有关。如果您从 float 数组开始,它会正常工作。还有你在评论中提到的np.true_divide()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 2016-09-23
    • 2021-01-12
    • 2016-10-26
    • 1970-01-01
    • 2019-07-24
    相关资源
    最近更新 更多