PYTHON Pandas:两个数据框中的字符串求和

Ad *_*d D 2 python sum dataframe pandas

我试图找出如何做到这一点:

在此处输入图片说明

我想在 df2 中为 df2 列“agence”中的每个字符串列表创建来自 df1 的所有“值”整数的总和,以创建“总和”。

我的实际代理列表是 300+,所以我正在寻找不需要为每个代理名称手动重复的内容。

编辑:对不起,我想添加图片来说明我的问题,因为我很难表达它,但我还应该在下面添加可重现的示例数据框:

import pandas as pd
df1 = pd.DataFrame({'agence': ['a', 'a, b', 'c, d, a', 'd', 'e, a', 'b, d'], 
                   'value': [1, 4, 2, 5, 2, 10]})
df2 = pd.DataFrame({'agence': ['a', 'b', 'c', 'd', 'e',]})
Run Code Online (Sandbox Code Playgroud)

CHR*_*HRD 5

使用str.split()explode()扩展数据。然后使用groupby()sum()聚合重新组合:

df2 = (df1.assign(agence=df1['agence'].str.split(', '))
       .explode('agence')
       .groupby('agence')
       .sum()
       .reset_index()
       .rename(columns=({'value': 'total sum'})))
Run Code Online (Sandbox Code Playgroud)
df2
    agence  total sum
0   a       9
1   b       14
2   c       2
3   d       17
4   e       2
Run Code Online (Sandbox Code Playgroud)