我正在尝试执行与熊猫的合并。这两个文件有一个公用键("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文件:
代码有什么问题?我还检查了类型,甚至转换了字符串中的列。但是什么都不起作用。
发布于 2018-06-10 01:52:33
我认为问题是连接列KEY_PLA
的type
不同,显然一个是整数,另一个是string
。
解决方案被转换为相同的,例如,转换为int
:
print (df_1['KEY_PLA'].dtype)
object
print (df_2['KEY_PLA'].dtype)
int64
df_1['KEY_PLA'] = df_1['KEY_PLA'].astype(int)
https://stackoverflow.com/questions/50777012
复制相似问题