【发布时间】:2020-01-04 19:37:01
【问题描述】:
我有两个 numpy 数组:
rates = [1.1, 0.8...]
zenith_anlges = [45, 20, ....]
rates 和 zen_angles 的长度相同。
我还有一些预定义的zenith_angle bins,
zen_bins = [0, 10, 20,...]
我需要做的是根据其对应的天顶角箱对rates进行分箱。
一个丑陋的方法是
nbin = len(zen_bins)-1
norm_binned_zen = [[0]]*nbin
for i in range(nbin):
norm_binned_zen[i] = [0]
for i in range(len(rates)):
ind = np.searchsorted(zen_bins,zen_angles[i]) #The corresponding bin number
norm_binned_zen[ind-1].append(rates[i])
这不是很pythonic,对于大型数组来说很耗时。我相信一定有一些更优雅的方式来做到这一点?
【问题讨论】: