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.被告知要解决此问题,

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