我在数据框中按年份分组数据。我有一个列,其中包含这一年的每一年的各列中的数据。是否可以每五年对数据进行分组?
Year Column
1991 2
1992 3
1993 5
1994 7
1995 8
1996 9
1997 7
我需要将这些数据从1991年至1995年分组为一个,并将1996 - 1997年的数据分组为一个,并取值的均值。如何通过操作执行此组?
答案 0 :(得分:4)
如果标签无关紧要,可以随时将其转换为更有意义的值,例如1991-1995
,则可以执行以下操作:
df.Column.groupby(df.Year.sub(1991)//5).mean()
#Year
#0 5
#1 8
#Name: Column, dtype: int64
答案 1 :(得分:4)
只需使用df.groupby(df.index//5).mean()
。
In [21]: df
Out[21]:
Year Column
0 1991 2
1 1992 3
2 1993 5
3 1994 7
4 1995 8
5 1996 9
6 1997 7
In [22]: df.groupby(df.index//5).mean()
Out[22]:
Column
0 5
1 8
答案 2 :(得分:0)
你可以在这里使用剪切功能:
your_data_frame.groupby(pd.cut(your_data_frame["Year"], np.arange(0, 1991, 1995)))
答案 3 :(得分:0)