aluckdog
我想指出的一件事是,科学计数法中的值不会对分析产生任何重大影响。JK 对这个问题给出了最好的回应,但是随着数据集大小的增加,这种方法(非矢量化方法)对于系统来说可能过于强大,而且他/她示例中的“结果”变量的数据类型为小数(不浮动)。>>>type(decimal.Decimal(1.22))<class 'decimal.Decimal'>要克服这些问题,您可以这样做:import decimals = pd.Series([-3.75e-05, -6.25e-05, -8.75e-05, -8.75e-05, -8.75e-05, -0.0001125, -0.00015, -0.0001625, -0.0001625, -0.0001625])s=s.apply(decimal.Decimal)print(s)输出:0 -0.0000374999999999999967148674173689215649574...1 -0.0000625000000000000013010426069826053208089...2 -0.0000874999999999999991109542185618863641138...3 -0.0000874999999999999991109542185618863641138...4 -0.0000874999999999999991109542185618863641138...5 -0.0001124999999999999969208658301411674074188...6 -0.0001499999999999999868594696694756862598296...7 -0.0001624999999999999925406890532997294940287...8 -0.0001624999999999999925406890532997294940287...9 -0.0001624999999999999925406890532997294940287...
蓝山帝景
尝试使用十进制,结果将是一个列表:from decimal import Decimals = pd.Series([-3.75e-05, -6.25e-05, -8.75e-05, -8.75e-05, -8.75e-05, -0.0001125, -0.00015, -0.0001625, -0.0001625, -0.0001625])result = [round(Decimal(x),5) for x in s]result结果:[Decimal('-0.00004'), Decimal('-0.00006'), Decimal('-0.00009'), Decimal('-0.00009'), Decimal('-0.00009'), Decimal('-0.00011'), Decimal('-0.00015'), Decimal('-0.00016'), Decimal('-0.00016'), Decimal('-0.00016')]