簡體   English   中英

Pandas 用第二列分組逗號分隔的單詞,然后是 groupby 和 sum

[英]Pandas group coma separated words with second column then groupby and sum

我有一個帶有 2 列的 pandas dataframe。 report_tags是逗號分隔的單詞, t_f是表示是或否(1 或 0)的標志。 我想用t_f分隔這些逗號分隔的單詞和分組。 然后在一個名為count的新列中對tag/t_f分組求和

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

所需的 output:

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

使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM