Я новичок в python, и я пытаюсь найти std круговых данных (направления ветра), группируя данные по некоторым характеристикам. Вот набор df, который я использую.groupby apply не дает ожидаемого результата
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
Мне нужен 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
см. Метод 1 по ответу @Nickil Maveli ниже. –