【发布时间】:2020-01-05 03:18:48
【问题描述】:
我有两个使用 pandas 创建的数据框,我试图合并它们以填充匹配的“Tm”字段上的“W”列。当我合并时,新列会出现在新数据框中,但一半的值返回为“NaN”。
我尝试了以下合并 df_1 并从 results 添加“W”列。
test = df_1.merge(result[['Tm', 'W']], on=['Tm'], how='left')
结果:
我检查了列,一切似乎都匹配。帮助赞赏!谢谢。
【问题讨论】:
-
您能否确认合并后对他们有 NaN 的团队实际上在结果数据框中有记录?因为你的合并看起来不错。
-
为什么
result中有“Baltimore Ravens (1)”,而output中只有“Baltimore Ravens”? -
由于这是左合并,您是否检查过该值是否也存在于右表“结果”中
-
您正在合并团队名称,即字符串。两个dfs中的数据是否来自同一来源?您是否进行了质量检查并清理了数据?名称字符串中可能存在不易看到的差异,或者 bernie 指出的更明显的差异。内连接可能是检查是否存在任何隐藏差异的一种方法。
-
除了其他一些评论者提出的好问题之外,请在帖子本身中以文本而不是图像的形式分享代码/数据!见:meta.stackoverflow.com/q/303812/11301900