我是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。 –