为了账号安全,请及时绑定邮箱和手机立即绑定

pivot groupby 和 sum pandas 数据框

pivot groupby 和 sum pandas 数据框

眼眸繁星 2023-04-25 16:09:17
这应该很简单,但我是使用 python 工作的新手。有什么建议吗?#original dataframedf = pd.DataFrame({'year':[1,1,1,1,1],                   'month':[4,4,4,4,4],                   'mode': ['a','b','a','a','b']},                  columns=['year','month','mode'])#pivot/groupby etc# df2=df.pivot(columns=('year','month'), values=('mode')).count()#create this dataframedf2 = pd.DataFrame({'year':[1],                   'month':[4],                   'a': [3],                   'b':[2]},                  columns=['year','month','a','b'])我在 Koalas Apache Spark 环境中工作(文档),所以解决方案应该可以解决这个问题。
查看完整描述

2 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

df.pivot_table(index=['year','month'], aggfunc='size', columns='mode')



查看完整回答
反对 回复 2023-04-25
?
杨魅力

TA贡献1811条经验 获得超6个赞

或者你可以使用pd.get_dummies():


pd.get_dummies(df).groupby(['year','month']).sum()

结果:


            mode_a  mode_b

year month                

1    4           3       2

注意:我不确定它是否适用于 Koalas Apache Spark 环境。


查看完整回答
反对 回复 2023-04-25
  • 2 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信