【问题标题】:Merging dataframes without NaNs合并没有 NaN 的数据帧
【发布时间】:2017-10-03 23:16:35
【问题描述】:

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

我的数据框看起来像这样

df1

df2 合并的_df

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

此外,如果单词不在 df2 中,那么它会在 merge_df 中返回一个 NaN 值。

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

【问题讨论】:

  • 我们可以尝试任何代码吗?

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


【解决方案1】:

我猜你正在寻找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))

【讨论】:

  • 谢谢!效果很好!希望我知道 map 方法!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-20
相关资源
最近更新 更多