[英]Pandas Group by sum of all the values of the group and another column as comma separated
[英]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.