浮点图:行为是意料之外的,并且可能有害。
对于大浮点数,将to_numeric与downcast ='float'一起使用似乎与使用.astype('float32')一样有效,因为即使返回的结果不再是==参数,它也会返回一个向下转换的结果。
pd.set_option('display.float_format', '{:.2f}'.format)
s = pd.Series(9876543210.0)
s.astype('float32') # 9876543488.00; dtype: float32
s.astype('float32') == s # False
pd.to_numeric(s, downcast='float') # 9876543488.00; dtype: float32
pd.to_numeric(s, downcast='float') == s # False
预期输出:
s = pd.Series(9876543210.0)
pd.to_numeric(s, downcast='float') # 9876543210.00; dtype: float64
pd.to_numeric(s, downcast='float') == s # True
如果有人知道,请给我任何解决方法。