You need to enable JavaScript to run this app. Pandas DataFrame列科学计数法转十进制及无舍入转整数求助
优惠活动
大模型
产品
解决方案
定价
更多

Pandas DataFrame列科学计数法转十进制及无舍入转整数求助

Pandas科学计数法转十进制小数及无舍入转整数实现方案

1. 科学计数法转十进制小数

Pandas默认对极小、极大数值采用科学计数法显示,仅需调整全局显示参数即可输出你需要的普通小数格式,代码如下:

import pandas as pd

# 读取原数据
df1 = pd.read_csv('/content/drive/MyDrive/노후교량/DZ_Middle_G/20km_hr_lane1_acc_middle_girder.csv')

# 调整浮点数显示格式,设置足够精度覆盖数据小数位,自动去除末尾无意义的0
pd.set_option('display.float_format', lambda val: '{:.10f}'.format(val).rstrip('0').rstrip('.') if '.' in '{:.10f}'.format(val) else str(val))

# 输出结果即为你要的十进制小数格式
print(df1.head())

如果需要实际修改列存储的数值格式,而非仅调整显示效果,可对目标列单独处理:

df1['DZ_middle_G_L1_20km'] = df1['DZ_middle_G_L1_20km'].apply(lambda val: float('{:.10f}'.format(val).rstrip('0').rstrip('.')))

2. 十进制数值无舍入转整数

无舍入转换默认直接截断小数部分,可根据你的使用场景选择对应方案:

  • 直接截断转换:适用于数值本身大于1,需要保留整数部分的场景
df1['整数列'] = df1['DZ_middle_G_L1_20km'].apply(lambda x: int(x))
  • 放大后转换:如果需要保留所有小数位的有效数字,可先乘以对应10的幂次再转换,示例数值放大10^7倍即可覆盖所有有效位
df1['整数列'] = df1['DZ_middle_G_L1_20km'].apply(lambda x: int(x * 10**7))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 09:24:04