为了账号安全,请及时绑定邮箱和手机立即绑定

如何更改实际的浮点格式 python 存储?

如何更改实际的浮点格式 python 存储?

萧十郎 2022-05-24 16:39:36
我有一个装有花车的熊猫系列。当我稍后将熊猫系列转换为列表时,一些浮点数采用科学计数法。.tolist()stackoverflow 上有很多帖子改变了我完全理解的 pandas float 的显示,但是当我调用该方法时,我需要这些值都是十进制格式。s = 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])为什么有些浮点数用科学计数法打印,有些用十进制?
查看完整描述

3 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

我想指出的一件事是,科学计数法中的值不会对分析产生任何重大影响。JK 对这个问题给出了最好的回应,但是随着数据集大小的增加,这种方法(非矢量化方法)对于系统来说可能过于强大,而且他/她示例中的“结果”变量的数据类型为小数(不浮动)。


>>>type(decimal.Decimal(1.22))

<class 'decimal.Decimal'>

要克服这些问题,您可以这样做:


import decimal

s = 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...


查看完整回答
反对 回复 2022-05-24
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

尝试使用十进制,结果将是一个列表:


from decimal import Decimal

s = 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')]


查看完整回答
反对 回复 2022-05-24
?
慕标5832272

TA贡献1966条经验 获得超4个赞

如果你不担心速度,


def to_str(x): return '%f' % x

s=s.apply(to_str)


查看完整回答
反对 回复 2022-05-24
  • 3 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信