【问题标题】:Iterate Multidimensional Numpy Array and Divide迭代多维 Numpy 数组并除以
【发布时间】:2021-06-09 13:53:29
【问题描述】:

假设您有一个形状为 (100,3) 的多维 Numpy 数组。例如,这里是前 5 行(head):

array([[ 255.16 ,  336.7  , 2479.9  ],
   [ 249.98 ,  329.48 , 2451.32 ],
   [ 247.76 ,  325.9  , 2422.52 ],
   [ 245.22 ,  325.78 , 2395.02 ],
   [ 248.125,  330.38 , 2435.31 ]])

你将如何使用 numpy 遍历每一行并除以前一行。例如,249.98 / 255.16。然后是 247.76 / 249.98。

在每一列上执行此操作,例如,我们完成了第一列,现在我们要执行第二列,329.48 / 336.7。然后是 325.9 / 329.48。

【问题讨论】:

    标签: python numpy multidimensional-array


    【解决方案1】:

    假设你的数组被称为matrix,可能是这样的:

    >>> np.array([matrix[i+1]/matrix[i] for i in range(matrix.shape[0]-1)])
    array([[0.97969901, 0.97855658, 0.98847534],
           [0.99111929, 0.98913439, 0.98825123],
           [0.98974814, 0.99963179, 0.98864818],
           [1.01184651, 1.01411996, 1.01682241]])
    

    【讨论】:

      猜你喜欢
      • 2016-01-28
      • 1970-01-01
      • 2021-06-16
      • 1970-01-01
      • 1970-01-01
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      相关资源
      最近更新 更多