我有两个数据框(df1 和 df2),每个数据框都有“单词”和“频率”列。对于 df1 中的每个单词,我想查看它是否存在于 df2 中,然后返回“频率”值,以便可以附加它以包含 df1 中的新实例。如果 df2 中不存在该单词,则添加它。
我已经找到了附加数据帧的方法,但我无法创建一个功能循环来执行我所描述的操作。我试图使用 Pandas 和 df.query 但没有运气。
在下面的示例中,我希望它添加单词“This”、“is”、“test”和“dataframe” 以及它们的频率,我想在 df2 中附加“a”作为两个频率值的总和 (4 + 222 = 226)
[中]
df1 = pd.DataFrame({'Words': ["this","is","a","test","dataframe"],
'Frequency': [20,18,4,12,6]})
[输出]
Words Frequency
0 this 20
1 is 18
2 a 4
3 test 12
4 dataframe 6
[中]
df2 = pd.read_csv("Words.csv")
[输出]
Word Frequency
0 the 562
1 to 246
2 a 222
3 of 204
4 and 200
最佳答案
使用pandas.DataFrame.append
和groupby.sum
:
df2.append(df1).groupby('Word', as_index=False, sort=False).sum()
输出:
Word Frequency
0 the 562
1 to 246
2 a 226
3 of 204
4 and 200
5 this 20
6 is 18
7 test 12
8 dataframe 6
关于python - 有没有一种简单的方法可以从另一个 df 中的一个数据帧中搜索字符串并返回关联值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57633498/