鉴于这一数据框:熊猫 - 得到排概括支点据帧计数
bowl cookie
0 one chocolate
1 two chocolate
2 two chocolate
3 two vanilla
4 one vanilla
5 one vanilla
6 one vanilla
7 one vanilla
8 one vanilla
9 two chocolate
我希望得到以下总结数据框:从人工出发
vanilla chocolate
one 5 1
two 1 3
除了:
vanilla_bowl1 = len(df_picks[(df_picks['bowl'] == 'one') & (df_picks['cookie'] == 'vanilla')])
vanilla_bowl2 = len(df_picks[(df_picks['bowl'] == 'two') & (df_picks['cookie'] == 'vanilla')])
chocolate_bowl1 = ...
chocolate_bowl2 = ...
有没有办法做到这一点与Pandas
单一操作?
注意:我在df.pivot()
一看,这将工作提供了我的每一行中添加count
等于一列1
:
bowl cookie count
0 one chocolate 1
1 two chocolate 1
2 two chocolate 1
3 two vanilla 1
4 one vanilla 1
5 one vanilla 1
6 one vanilla 1
7 one vanilla 1
8 one vanilla 1
9 two chocolate 1
然后
df.pivot(index='bowl', columns='cookie', values='count')
但是,我想知道是否有更直接的方法,这将不需要添加count
列在第一位。
确实如此,但与pivot_table和'groupby([...])相比,速度稍慢。aggfunc()。unstack'解决方案 – MaxU