合并没有NaN的数据帧

时间:2017-10-03 23:16:36

标签: python pandas dataframe group-by pandas-groupby

我正在尝试将pandas中的两个数据帧正确合并,以便最终我可以拥有正确的索引和列。

我的数据框看起来像这样

DF1

enter image description here

DF2 enter image description here merged_df

merged_df只是df1(相同的索引和相同的单词列),除了它还有一个右边的值列,它给出了每个单词的值。

此外,如果单词不在df2中,那么它将在merged_df中返回NaN值。

这看起来很简单,但是我尝试了很多与合并方法的组合,并且没有得到我所需要的东西。

1 个答案:

答案 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))