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