在 Pandas 中,如何根据条件从另一个 DataFrame 填充特定列的值?

3

我有两个不同形状的数据框。一个包含单词及其频率,另一个包含单词及其词形还原

第一个数据框总是将一个单词映射到一个频率,第二个数据框将多个单词映射到一个词形还原(多次)。例如:

df1:

  word  frequency
    de   33504559
   que   32700217
    no   28263302
     a   21978600
    la   21249418

并且 df2:

     lemma       word
   zurullo   zurullos
  zurupeto  zurupetos
    zutano     zutana
    zutano    zutanas
    zutano    zutanos

我希望将引理信息添加到df1中,通过搜索df1中的每个单词,将其与df2中的单词进行比较,并从df2中提取引理信息以添加回df1。
针对“当在df1中的值始终相同时”的情况,有用的答案可以参考此处。但是,由于我想为每个包含不同单词的行执行此操作,因此我不确定该如何继续操作。(我查看了合并和连接文档部分,但比之前更加困惑...)
在纯Python中,我会使用循环,例如:
new_df = dict()
# assuming all dfs are dicts
for w, f in df1.items():
    if w in df2.keys():
        new_df[w] = (df2[w], f)

希望了解如何使用pandas数据帧操作。

1个回答

1

试试这个:

df1.merge(df2, how='left', on='word')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接