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

我有一个带有 2 列的熊猫数据框。 report_tags是逗号分隔的单词,t_f是表示是或否(1 或 0)的标志。我想将这些逗号分隔的单词和 group by 分开t_f。tag/t_f然后在一个名为的新列中对分组求和count


df 

    report_tags             t_f

0   bec,eac,fbi,ic3,scam    1

1   dlink,router,wifi       0

2   adobe                   0

3   bec, fbi                1

4   bec, fbi, scam          0

期望的输出:


df2

   tag    t_f   count

0  bec    1     2

1  eac    1     1

2  fbi    1     2

3  ic3    1     1

4  scam   1     1

5  dlink  0     1

6  router 0     1

7  wifi   0     1

8  adobe  0     1

9  bec    0     1

10 fbi    0     1

11 scam   0     1


吃鸡游戏
浏览 106回答 1
1回答

鸿蒙传说

使用str.split+explodek = 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  count0     1         bec      21     1         eac      12     1         fbi      23     1         ic3      14     1        scam      15     0       adobe      16     0         bec      17     0       dlink      18     0         fbi      19     0      router      110    0        scam      111    0        wifi      1
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python