to_numeric(...,downcast ='float')过于激进

时间:2018-10-25 05:58:06

标签: python pandas

浮点图:行为是意料之外的,并且可能有害。

对于大浮点数,将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

如果有人知道,请给我任何解决方法。

0 个答案:

没有答案