使用重复索引旋转 table
Pivoting a table with duplicate index
我想调整这个 table:
Year County Sex rate
0 2006 Alameda Male 45.80
1 2006 Alameda Female 54.20
2 2006 Alpine Male 52.81
3 2006 Alpine Female 47.19
4 2006 Amador Male 49.97
5 2006 Amador female 50.30
我想要的输出是:
Year County Male Female
2006 Alameda 45.80 54.20
2006 Alameda 52.81 47.19
2006 Alpine 49.97 50.30
我试过这样做:
sex_rate=g.pivot(index="County",columns='Year',values='rate')
但是我一直收到这个错误:
ValueError: Index contains duplicate entries, cannot reshape
请帮忙。我是 python
的新手
我想你想要 index=['Year', 'County']
,而不仅仅是 index='County'
。由于您将两列传递给 index
,因此您可能希望使用 pivot_table
而不是 pivot
:
df.pivot_table(index=['Year','County'],
columns='Sex', values='rate'
).reset_index()
输出:
Sex Year County Female Male
0 2006 Alameda 54.20 45.80
1 2006 Alpine 47.19 52.81
2 2006 Amador 50.30 49.97
我想调整这个 table:
Year County Sex rate
0 2006 Alameda Male 45.80
1 2006 Alameda Female 54.20
2 2006 Alpine Male 52.81
3 2006 Alpine Female 47.19
4 2006 Amador Male 49.97
5 2006 Amador female 50.30
我想要的输出是:
Year County Male Female
2006 Alameda 45.80 54.20
2006 Alameda 52.81 47.19
2006 Alpine 49.97 50.30
我试过这样做:
sex_rate=g.pivot(index="County",columns='Year',values='rate')
但是我一直收到这个错误:
ValueError: Index contains duplicate entries, cannot reshape
请帮忙。我是 python
的新手我想你想要 index=['Year', 'County']
,而不仅仅是 index='County'
。由于您将两列传递给 index
,因此您可能希望使用 pivot_table
而不是 pivot
:
df.pivot_table(index=['Year','County'],
columns='Sex', values='rate'
).reset_index()
输出:
Sex Year County Female Male
0 2006 Alameda 54.20 45.80
1 2006 Alpine 47.19 52.81
2 2006 Amador 50.30 49.97