如何在数据帧中创建一列,该列是基于公共列的另一个数据帧中另一列的总和



我有一个数据帧(df1(,看起来像这样:

Character       Word Count
Leslie Knope    58
Child           9
Leslie Knope    13
Child           63

和另一个看起来像这样的数据帧(df2(:

Character      Line Count
Leslie Knope   81
Child          1

我试图在df2中创建一个新列,它是基于两个数据集中常见的"字符名"列的df1中"字数"列的总和。输出应该是这样的:

Character     Line Count   Word Count
Leslie Knope  81           71
Child         1            72

我尝试过使用groupby((,但不知道如何在df2中创建单词计数列,该列基于两个数据帧之间字符名匹配的条件。

提前感谢您的帮助!

尝试通过map()groupby():

df2['Word Count']=df2['Character'].map(df1.groupby('Character')['Word Count'].sum())
#you can also use replace() method in place of map()

df2:的输出

Character       Line Count  Word Count
0   Leslie Knope    81          71
1   Child           1           72

最新更新