[英]Convert pandas str column to float without loss of precision
我从 API 接收此数据,然后我将其放入 dataFrame object。一切正常,直到我需要将某些列从其原始 str 格式更改为 float。 在使用 pd.to_numeric 和 pd.astype(float) and.apply(float) 之后,我发现我的数据被限制在浮点数后的 5-6 位。 这是之前的:
Price Weight
Ticker
A 2.5280000000 0.1107699174
B 137.6500000000 0.0315685242
C 203.0600000000 0.1220829996
D 5.6920000000 0.0406895407
这是之后:
Price Weight
Ticker
A 2.52800 0.110770
B 137.65000 0.031569
C 203.06000 0.122083
D 5.69200 0.040690
虽然 6 位数很好,但我需要整个数据来执行模型制作目的的精确计算。 我真的很感激这方面的任何帮助!
默认情况下pandas
在 之后显示6 位数字.
,但这并不意味着存储值的精度,如果值以足够的精度存储,那么将pandas.options.display.precision
值设置为更大的值应该足以看到它,请考虑以下示例
import pandas as pd
df = pd.DataFrame({'x':[0.1107699174]})
print(df)
pd.options.display.precision = 12
print(df)
output
x
0 0.11077
x
0 0.1107699174
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.