pandas DataFrame Combine_first方法 數據類型改爲將浮點數

 正常查看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.被告知要解決此問題,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章