Python:Pandas合并导致NaN

时间:2018-06-09 17:50:24

标签: python pandas dataframe merge

我试图与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)

结果如下:Result

以下是excel文件:

Excel1 Excel2

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

1 个答案:

答案 0 :(得分:2)

我认为问题与已加入的列type的{​​{1}}不同,显然一个是整数,另一个是KEY_PLA

解决方案是同样的,例如,到string s:

int