python merge():如果我更改数据框顺序不起作用

时间:2019-06-10 13:44:14

标签: python pandas dataframe merge

我已经使用DataFrame_1.merge(DataFrame_2, blabla)已有一段时间了。现在,我遇到了一个我无法弄清楚的东西:

final_df['com_name'] = final_df['com_name'].str.lower()
final_df.replace(blabla)
pipei_cus = pd.read_csv(blabla)

# it works
pipei_cus.merge(final_df, left_on='name', right_on='name_1', how='outer')

# not work if i change the order of DataFrame
final_df.merge(pipei_cus, left_on='name_1', right_on='name', how='outer')

更重要的是,如果我将final_df保存到csv,然后再读回去,代码就可以正常工作!

final_df['com_name'] = final_df['com_name'].str.lower()
final_df.replace(blabla)
final_df.to_csv(blabla)

final_df = pd.read_csv(blabla)
pipei_cus = pd.read_csv(blabla)

# it works this time
final_df.merge(pipei_cus, left_on='name_1', right_on='name', how='outer')

非常感谢任何想法!

1 个答案:

答案 0 :(得分:0)

很有可能是Pycharm的一个错误,我用新版本的Pycharm运行了相同的代码,尽管没有指示,但我得到了想要的结果:

指示在这里

enter image description here

仍然完全没有指示:

enter image description here