我想你可以尝试reset_index
对新列名Size
参数name
:
yearage.groupby(['year','Tm']).size().reset_index(name='Size')
样品:
print yearage
year Tm a
0 2014 ATL 9
1 2014 ATL 9
2 2014 ATL 9
3 2014 ATL 9
4 2014 BOS 9
5 2014 BRK 7
6 2014 BOS 9
7 2014 BOS 9
8 2014 BOS 9
9 2014 CHI 10
10 2014 CHO 9
11 2014 CLE 8
12 2014 DAL 9
13 2014 DEN 8
14 2014 DET 9
15 2014 GSW 8
print yearage.groupby(['year','Tm']).size().reset_index(name='Size')
year Tm Size
0 2014 ATL 4
1 2014 BOS 4
2 2014 BRK 1
3 2014 CHI 1
4 2014 CHO 1
5 2014 CLE 1
6 2014 DAL 1
7 2014 DEN 1
8 2014 DET 1
9 2014 GSW 1
不带参数name
得到新的列0
:
print yearage.groupby(['year','Tm']).size().reset_index()
year Tm 0
0 2014 ATL 4
1 2014 BOS 4
2 2014 BRK 1
3 2014 CHI 1
4 2014 CHO 1
5 2014 CLE 1
6 2014 DAL 1
7 2014 DEN 1
8 2014 DET 1
9 2014 GSW 1
你如何转换为'df'?通过'reset_index()'? – jezrael
这是一个'Series',你可以通过'reset_index()'将其转换为'DataFrame'。 –
只是简要说明一下以前的评论,你有一个MulitIndex而不是平面索引那里B/C你分组在多列。 reset_index只是将你从'['year','tm']'索引转换为标准'range(x)'索引。 – JohnE