You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas Series提取数值时如何保留小数点后全部完整数值

问题解决方法

核心原因

  1. time.round(6) 未生效:Pandas的Series.round()方法默认返回新的Series对象,不会修改原变量,你未将计算结果赋值回time,因此原数据没有发生变化。
  2. Pandas默认的浮点数显示规则会自动截断小数位,即便数值本身包含多位小数,打印时也只会展示统一的短小数位,该显示逻辑不影响内部真实存储的数值精度。

解决方案

方案1:仅调整本次打印格式(不修改全局配置,推荐)

打印时直接指定Series的输出格式即可看到完整小数位,同时修正round方法的赋值逻辑:

x = str(input('Enter file name with extension: ')) 
df = pd.read_csv(x, delimiter=";", dtype=float, na_values=["-∞", "∞"],)

time = df['Time'].astype('float')
time = time.round(6) # 把四舍五入结果赋值回原变量
print(time.to_string(float_format='%.6f')) # 指定打印时展示6位小数

方案2:全局修改Pandas浮点数显示精度

如果后续所有打印操作都需要展示多位小数,可以在代码开头修改全局配置:

import pandas as pd
# 全局配置所有浮点数打印时展示6位小数
pd.set_option('display.float_format', '{:.6f}'.format)

x = str(input('Enter file name with extension: ')) 
df = pd.read_csv(x, delimiter=";", dtype=float, na_values=["-∞", "∞"],)

time = df['Time'].astype('float')
time = time.round(6)
print(time) # 直接打印即可展示完整小数位

注意事项

如果仅需要使用时间列数值做后续计算,无需修改显示规则,Pandas内部已经存储了完整的浮点精度,打印截断不影响实际计算结果,直接取time的数值使用即可。

内容的提问来源于stack exchange,提问作者lqope54

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 15:06:05