藏猊 2022-01-23 08:13 采纳率: 57.1%
浏览 32
已结题

pandas 分组统计后把数据拉到一行上该怎么做啊

data = pd.DataFrame({
    '框': ['a', 'b', 'a', 'b', 'a', 'b', 'a', 'b', 'a', 'b', 'a', 'b', 'a', 'b', 'a'],
    '水果': ['香蕉', '苹果', '香蕉', '苹果', '香蕉', '苹果', '香蕉', '苹果', '橘子', '菠萝', '菠萝', '山竹', '西瓜', '草莓', '草莓'],
    '值': [3, 5, 6, 7, 4, 3, 3, 3, 2, 1, 4, 5, 5, 5, 3]})

dd = data.groupby(['水果', '框']).count()
print(dd)

有这样一组数据,groupby后的结果如下。

      值
水果 框   
山竹 b  1
橘子 a  1
苹果 b  4
草莓 a  1
   b  1
菠萝 a  1
   b  1
西瓜 a  1
香蕉 a  4

我想把统计的a和b放到同一行上,没有的就赋值0或者nan都行,如下图,该怎么做呢

水果  a  b
山竹  0  1
橘子  1  0
草莓  1  1
  • 写回答

2条回答 默认 最新

  • heianduck 2022-01-23 08:29
    关注
    dd = data.groupby(['水果', '框'], as_index=False).count()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 2月17日
  • 已采纳回答 2月10日
  • 创建了问题 1月23日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部