Python:pandas去通往NaN

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (80)

我正在尝试与pandas进行合并。这两个文件有一个公用密钥(“KEY_PLA”),我试图用左连接。但不幸的是,从第二个文件传输到第一个文件的所有列都有NaN值。

这是我迄今为止所做的:

df_1 = pd.read_excel(path1, skiprows=1)
df_2 = pd.read_excel(path2, skiprows=1)

df_1.columns = ["Index", "KEY", "KEY_PLA", "INFO1", "INFO2"]
df_2.columns = ["Index", "KEY_PLA", "INFO4"]

df_1.drop(["Index"], axis=1, inplace=True)
df_2.drop(["Index"], axis=1, inplace=True)

# Merge all dataframes
df_merge = pd.DataFrame()

df_merge = df_1.merge(df_2, left_on="KEY_PLA", right_on="KEY_PLA", how="left")
print(df_merge)

这是结果:

这里是excel文件:

Excel1 Excel2

代码有什么问题?我还检查了类型,甚至将字符串转换成了列。但没有任何工作。

提问于
用户回答回答于
print (df_1['KEY_PLA'].dtype)
object

print (df_2['KEY_PLA'].dtype)
int64

df_1['KEY_PLA'] = df_1['KEY_PLA'].astype(int)

扫码关注云+社区

领取腾讯云代金券