python - 有没有一种简单的方法可以从另一个 df 中的一个数据帧中搜索字符串并返回关联值?

标签 python pandas dataframe nlp

我有两个数据框(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.appendgroupby.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/

相关文章:

python - 使用 Nose 运行目录中的所有测试

python - 想从 MS Access 升级到 .NET? Visual Studio ?

r - 当 data.frame 获得新列时会发生什么?

python - 删除 python pandas dataframe 中的所有卓尔 Sprite ,除了

arrays - 根据一列中数组的元素选择数据框的行

python - tkinter 的 .pack_propagate() 方法

python - 如何在python中不重复地生成一系列随机数

python - Pandas,检查 datetimeindex 的重采样 30 分钟时间段中是否存在时间戳值

python-3.x - 如何在 Pandas 中选择只有正值或负值的行

python - Pandas Python : sort dataframe but don't include given row