我正在尝试将pandas中的两个数据帧正确合并,以便最终我可以拥有正确的索引和列。
我的数据框看起来像这样
DF1
merged_df只是df1(相同的索引和相同的单词列),除了它还有一个右边的值列,它给出了每个单词的值。
此外,如果单词不在df2中,那么它将在merged_df中返回NaN值。
这看起来很简单,但是我尝试了很多与合并方法的组合,并且没有得到我所需要的东西。
答案 0 :(得分:0)
我想你正在寻找map
:
s = df1['word'].map(df2.set_index('word')['value'])
merged_df = df1.assign(value=s)
您还可以使用.values
创建映射字典,然后调用map
:
mapping = dict(df2.values)
merged_df = df1.assign(value=df1['word'].map(mapping))