正常查看df中公司名稱爲"xxxx股份有限公司"的股票代碼 顯示爲 000729
df3[df3.company=="xxxx股份有限公司"].secuCode
Out[2]:
2958 000729
Name: secuCode, dtype: object
但是通過 DataFrame Combine_first方法時, 發現數據類型發生變化, 而且數據格式也不是我想要的
df4 = df1.combine_first(df2)
df4[df4.company=="xxx有限公司"].secuCode
Out[1]:
303 729.0
Name: secuCode, dtype: float64
出現的原因: df2去填充df1數據時, 把數據類型修改了, 此時只需要把 df1 和df2 調換位置, 用df1去填充df2, 這樣就不會出現問題
df5 = df2.combine_first(df1)
備註: 此問題已在3年前的先前文章中進行了報道:pandas DataFrame combine_first and update methods have strange behavior.被告知要解決此問題,