私は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
を期待していました
ここで問題は何ですか?
は、アクションが実行されることになっている列を指定してみては? +同じステップでラジアンに変換すると複雑になります。 –
グループを使用してアクションを実行する列を指定するにはどうすればよいですか? – ydopico
下記の@Nickil Maveliの答えに方法1を参照してください。 –