我需要分类风数据
这个想法是改变风箱尺寸,这样每个箱子都可以覆盖最少量的数据。然后最后我会有360个重叠的箱子
因此需要根据落入不同垃圾箱的数据来定义垃圾箱的下限和上限并随后改变上限
np.digitize似乎只适用于1维箱子
所以这是我的尝试:
import numpy as np
from scipy.stats import binned_statistic
#initially equal size bins[[lower limit], [upper limit]]
bins=np.array([[np.arange(0,360)], [np.arange(1,361)]])
#dfIn is a vector with angles from 0 to 360
index_Rdir= binned_statistic(dfIn, dfIn, bins=bins)
然后是算法的其余部分,其中数据的频率
在每个箱中计算并且箱的上限增加
对于那些没有获得最小数据的箱子......
尝试使用binned_statistic进行分箱时会引发以下错误
ValueError: cannot copy sequence with size 2973 to array axis with dimension 3
如果没有一个数组用于垃圾箱,我尝试使用列表,我得到了类似的错误。
我也尝试使用np.histogram,因为根据文档允许非均匀的bin大小
index_Rdir= np.histogram(dfIn, bins=bins)
all the input arrays must have same number of dimensions