Python通过多个列进行分组,表示另一个-不通过对象进行分组

Python通过多个列进行分组,表示另一个-不通过对象进行分组,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我有一些像这样的数据,叫做“test_df” ID Year Value Value2 0 A 2012 1 4 1 A 2012 2 5 2 A 2013 4 6 3 A 2013 5 7 4 B 2014 6 8 5 B 2014 7 4 6 B 2013 8 8 我希望它看起来像这样: ID Yea

我有一些像这样的数据,叫做“test_df”

  ID  Year  Value  Value2
0  A  2012      1       4
1  A  2012      2       5
2  A  2013      4       6
3  A  2013      5       7
4  B  2014      6       8
5  B  2014      7       4
6  B  2013      8       8
我希望它看起来像这样:

ID Year  Value_avg  Value2_avg
A  2012  1.5        4.5
A  2013  4.5        6.5
B  2013  8.0        8.0
B  2014  6.5        6.0
但是,当我尝试按多个列分组时,它们最终会成为按对象分组:

         Value_avg  Value2_avg
ID Year
A  2012        1.5         4.5
   2013        4.5         6.5
B  2013        8.0         8.0
   2014        6.5         6.0
以下是我尝试的代码:

out_df = pd.DataFrame()
out_df['Value_avg'] = test_df['Value'].groupby([test_df['ID'], test_df['Year']]).mean()
out_df['Value2_avg'] = test_df['Value2'].groupby([test_df['ID'], test_df['Year']]).mean()
我试着加上:

out_df['Value_avg'] = test_df['Value'].groupby([test_df['ID'], 
test_df['Year']], as_index=False).mean()
但我犯了这个错误:

"TypeError: as_index=False only valid with DataFrame"

添加后缀
+
重置索引

df.groupby(['ID','Year']).mean().add_suffix('_avg').reset_index()
Out[337]: 
  ID  Year  Value_avg  Value2_avg
0  A  2012        1.5         4.5
1  A  2013        4.5         6.5
2  B  2013        8.0         8.0
3  B  2014        6.5         6.0

添加后缀
+
重置索引

df.groupby(['ID','Year']).mean().add_suffix('_avg').reset_index()
Out[337]: 
  ID  Year  Value_avg  Value2_avg
0  A  2012        1.5         4.5
1  A  2013        4.5         6.5
2  B  2013        8.0         8.0
3  B  2014        6.5         6.0
test_-df.groupby(['ID','Year',as_-index=False)。mean()
test_-df.groupby(['ID','Year',as_-index=False)。mean()