У меня есть следующий фрейм данных с данными временных рядов:
df = pd.DataFrame(columns = ['id', 'value'])
df['value'] =[9, 16, 10, 12, 11, 14]
df['id'] = [1, 1, 1, 2, 2, 2]
Для каждого временного ряда (определяется столбцом 'id') я хочу вычислить дисперсию, чтобы найти временные ряды, которые не меняются вообще или очень мало .
Конечный фрейм данных должен выглядеть следующим образом:
df_end = pd.DataFrame(columns = ['id','value', 'var'])
df_end['value'] =[9, 16, 10, 12, 11, 14]
df_end['id'] = [1, 1, 1, 2, 2, 2]
df_end['var'] = [21, 21, 21, 2.3, 2.3, 2.3]
Я пытался:
df.groupby(df['id']).var()
, который дает мне значения, но я не мог поместить его в df в правильной форме. Я уверен, что для этого есть удобная функция, о которой я пока не знаю!
Спасибо за помощь!