【问题标题】:Dividing array elements in one array with another - Python将一个数组中的数组元素与另一个数组相除 - Python
【发布时间】:2015-03-26 20:25:34
【问题描述】:

我有两个形状为 (110,) 和 (120,) 的 numpy 数组 ymr_div。我想将ymr_div 相除,即ym 的第一个元素除以r_div 的第一个元素,第二个元素除以第二个元素,依此类推。我尝试将两个数组都转换为列表并将它们分开,但无济于事。尝试了truedivmap,但无法获得map 中的值。

这是我迄今为止尝试过的:

from operator import truediv
norm_y = map(truediv, ym_list, first)

并将它们转换为列表,然后划分它们,从而产生TypeError

数组的形状不匹配,但我只想使用 r_div 的前 110 个元素。

【问题讨论】:

    标签: python arrays python-3.x numpy


    【解决方案1】:

    您可以在除法之前对r_div 进行切片以获取前 110 个值:

    ym / r_div[:110]
    

    / 运算符在 NumPy 数组上按元素进行除法。

    【讨论】:

    • “真除法”通常是指非下限版本:即对应于/ 而不是// 的版本(至少在Python 3 中)。
    • 您好,感谢您的回复@ajcr。我试过了。所得阵列的形状为 (110, 110)。我希望它是(110,)。基本上,在/// 中,ym 中的每个元素都被r_div 中的每个元素划分。生成的数组应包含以下元素:第一个元素 = ym 的第一个元素/r_div 的第一个元素,第二个元素 = ym 的第二个元素@/r_div 的第二个元素,依此类推。
    • @magnus_prime:如果您的数组 ymr_div 都是一维的,我不知道除法将如何创建二维数组 - 您确定两者都只有一维?
    • @ajcr :对不起,明白了!我在变量名中复制代码时打错了!谢谢。
    • @magnus_prime:没问题!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多