我是python的新手,我试图找到一些循环数据(风向)的std,通过一些特征对数据进行分组。 这是我使用的一组df。groupby申请不给预期结果
Profile bin inflow_direction
0 1 51 331.7
1 1 51 332.8
2 1 51 334.1
3 1 51 335.4
4 1 51 336.4
5 1 66 337.3
6 1 66 337.5
7 1 66 337.6
8 1 66 337.7
9 1 66 337.6
我需要在每个配置文件内的每组bin的std。 我已经定义了STD功能:
def circstd(j) : samples = np.radians (j) return scipy.stats.circstd(samples, high=6.283185307179586, low=0, axis=None)
当我组:
df.groupby(['Profile','bin']).apply(circstd)
的的是:
idscng_f bin
1 51 0.567811
66 0.671470
但我期待
idscng_f bin
1 51 0.0296
66 0.0025
这里有什么问题?
尝试指定在其上作用是将要执行的列? +在同一步骤中转换为弧度会使事情变得复杂。将这两样东西分开,让它起作用,理解它,然后将它们合并回来,如果你想要 –
我该如何指定 - 使用group by - 要执行动作的列? – ydopico
请参阅下面@Nickil Maveli的答案方法1。 –