python Pandas : sum with string in two dataframe

标签 python pandas dataframe sum

我想知道怎么做:

enter image description here

我想在 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',]})

最佳答案

使用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'})))

df2
    agence  total sum
0   a       9
1   b       14
2   c       2
3   d       17
4   e       2

关于 python Pandas : sum with string in two dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62343337/

相关文章:

python - 如何使用 askopenfilename 从浏览按钮检索文件路径并使用 Tkinter 将其写入条目小部件

使用 groupby、pivot 和 transpose 进行 Python pandas 数据帧转换

python - 访问pandas数据百万次——需要提高效率

python - 删除 pandas 数据框中具有相同值的连续行

python - 将 Python dict 转换为数据框

用于检查 Namenode 状态的 Python 脚本

Python 字典加法

python - 如何使具有值参数的子类化与 mypy 泛型兼容?

python - 如何计算数据帧中一行中非 NaN 列的数量?

python - 按数字组合 Pandas 数据帧