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

Pandas数据格式化需求:移除前导零、保留三位小数及整数转换

解决方案:Pandas DataFrame 列格式化处理

没问题,我来帮你搞定这个DataFrame的格式化需求!这里有一个基于Pandas的完整解决方案,完全匹配你预期的输出效果:

步骤1:构造示例DataFrame

首先我们先把你提供的原始数据转换成Pandas DataFrame:

import pandas as pd

data = {
    'Var': ['Var1', 'Var2', 'Var3', 'Var4', 'Var5', 'Var6', 'Var7', 'Var8', 'Var9', 'Var10'],
    'count': [33214.0, 55381.0, 67469.0, 55191.0, 46297.0, 1700.0, 998.0, 45.0, 2889.0, 7353.0],
    'mean': [-216.687166, -130.082888, 46.732620, 133.425134, -0.240642, -9.200535, 263.906417, -11.759358, 0.280749, 216.684492],
    'std': [-24.076352, -18.583270, 15.577540, 66.712567, -0.048128, -4.600267, 37.700917, -2.351872, 0.140374, 43.336898]
}

df = pd.DataFrame(data).set_index('Var')

步骤2:处理各列格式

接下来我们对不同列分别进行格式化:

处理count列:移除小数点后数字

因为count列的数值都是整数的浮点形式(比如33214.0),直接转换为整数类型即可:

df['count'] = df['count'].astype(int)

处理mean和std列:四舍五入+移除前导零

我们先对数值四舍五入保留三位小数,再通过字符串替换去掉前导零(比如0.281变为.281,-0.241变为-.241):

# 链式操作:四舍五入→转字符串→正则替换前导零
df[['mean', 'std']] = df[['mean', 'std']].round(3).astype(str).replace(
    {'0\.': '\.', '-0\.': '-\.'}, 
    regex=True
)

最终结果

处理完成后,你的DataFrame会变成如下格式:

Varcountmeanstd
Var133214-216.687-24.076
Var255381-130.083-18.583
Var36746946.73315.578
Var455191133.42566.713
Var546297-.241-.048
Var61700-9.201-4.600
Var7998263.90637.701
Var845-11.759-2.352
Var92889.281.140
Var107353216.68443.337

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 17:32:26