【问题标题】:Divide each row by a vector element with floating value precision将每一行除以具有浮点值精度的向量元素
【发布时间】:2016-07-29 20:25:24
【问题描述】:

假设我有

a = np.arange(9).reshape((3,3))

我想用一个向量来划分每一行

n = np.array([1.1,2.2,3.3])

我在question 中尝试了建议的解决方案,但没有考虑小数值。

【问题讨论】:

  • 使用np.true_divide
  • @Divakar 请回答问题,以便我可以给你积分谢谢
  • 如果您尝试回答自己的问题,您将了解更多信息。所以,如果可以的话,请这样做。随意使用评论和在线文档了解如何使用它。
  • 当我在我的解释器(anaconda 2.7)上执行a / n 时,我想我得到了你想要的结果。当您说“不考虑小数值”时,您的意思是您从整数除法中得到结果吗?
  • 另一种解决方法是使用 arange(9.0) 生成一个浮点数组。

标签: python numpy


【解决方案1】:

我对您的问题的理解与上面的 cmets 不同:

import numpy as np 
a = np.arange(12).reshape((4,3))
print a

n = np.array([[1.1,2.2,3.3]])
print n

print a/n

输出:

[[ 0  1  2]
 [ 3  4  5]
 [ 6  7  8]
 [ 9 10 11]]
[[ 1.1  2.2  3.3]]
[[ 0.          0.45454545  0.60606061]
 [ 2.72727273  1.81818182  1.51515152]
 [ 5.45454545  3.18181818  2.42424242]
 [ 8.18181818  4.54545455  3.33333333]]

我还将对称矩阵 (3x3) 更改为 (3x4),以指出行与列的关系。除数现在也是一个列向量(双括号)。

【讨论】:

    猜你喜欢
    • 2013-11-05
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    • 2012-10-25
    • 1970-01-01
    相关资源
    最近更新 更多