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

Pandas 用第二列分组逗号分隔的单词,然后是 groupby 和 sum

Pandas 用第二列分组逗号分隔的单词,然后是 groupby 和 sum

吃鸡游戏 2022-06-02 11:04:44
我有一个带有 2 列的熊猫数据框。 report_tags是逗号分隔的单词,t_f是表示是或否(1 或 0)的标志。我想将这些逗号分隔的单词和 group by 分开t_f。tag/t_f然后在一个名为的新列中对分组求和countdf     report_tags             t_f0   bec,eac,fbi,ic3,scam    11   dlink,router,wifi       02   adobe                   03   bec, fbi                14   bec, fbi, scam          0期望的输出:df2   tag    t_f   count0  bec    1     21  eac    1     12  fbi    1     23  ic3    1     14  scam   1     15  dlink  0     16  router 0     17  wifi   0     18  adobe  0     19  bec    0     110 fbi    0     111 scam   0     1
查看完整描述

1 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

使用str.split+explode


k = dict(sort=False)


(df.set_index('t_f')['report_tags']

  .str.split(r',\s*').explode()

  .groupby(level=0, **k).value_counts(**k)

  .rename('count').reset_index())

    t_f report_tags  count

0     1         bec      2

1     1         eac      1

2     1         fbi      2

3     1         ic3      1

4     1        scam      1

5     0       adobe      1

6     0         bec      1

7     0       dlink      1

8     0         fbi      1

9     0      router      1

10    0        scam      1

11    0        wifi      1


查看完整回答
反对 回复 2022-06-02
  • 1 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

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