Pandas Timeseries:Groupby和calculate variance

Pandas Timeseries:Groupby和calculate variance,pandas,time-series,pandas-groupby,variance,Pandas,Time Series,Pandas Groupby,Variance,我有以下带有timeseries数据的数据帧: 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'])

我有以下带有timeseries数据的数据帧:

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中。我确信,有一个方便的函数用于此,我还不知道

感谢您的帮助!

与指定列
值一起使用:

df['var'] = df.groupby('id')['value'].transform('var')
print (df)
   id  value        var
0   1      9  14.333333
1   1     16  14.333333
2   1     10  14.333333
3   2     12   2.333333
4   2     11   2.333333
5   2     14   2.333333