首页 > 解决方案 > 具有相同数组下标的 Numpy 数组

问题描述

我想知道这个指令是如何:

az[az > 360] -= 360

在 python 中工作。aznumpy具有以下值的数组:

[360.02746582   1.04919434   2.04620361   3.03771973   4.02923584
   5.04547119   6.0369873    7.05322266   8.04473877   9.0335083
  10.02227783  11.04125977  12.04376221  13.05725098  14.04602051
  15.04302979  16.04827881  17.03704834  18.03405762  19.04205322
  20.05004883  21.02508545  22.04681396  23.03833008  24.05181885
  25.0378418   26.04858398  27.04284668  28.03985596  29.03686523
...]

在我看来,将数组标准化为小于 360 的值,但下标是如何工作的?

标签: pythonnumpy

解决方案


一般来说,就是从数组中大于az[az > 360] -= 360360 的所有值中减去360。az

示例az

[360.02746582   1.04919434   2.04620361   3.03771973]

脚步:

  • az > 360返回一个与 in 的对应值大于 360az时相同形状的布尔掩码,否则返回一个布尔掩码。例子:TrueazFalse

    [ True False False False]
    
  • az[az > 360]选择布尔掩码为az的所有值,因此所有大于 360 的值。az>360Trueaz

    [360.02746582]
    
  • 最后,az[az > 360] -= 360从上述步骤中选择的值中减去 360。

    [0.02746582 1.04919434 2.04620361 3.03771973]
    

推荐阅读