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

Pandas分组求均值后组内value降序排序异常问题排查

解决方案

1. 修正排序逻辑(解决排序不符合预期问题)

你的代码默认按升序排列value,要实现variable分组后组内value从大到小排序,需在sort_values中指定ascending参数:第一个值保证variable按顺序分组,第二个值设置为False实现组内降序:

# 修正后的排序代码
result = df.groupby(['variable','iso3c'])[['value']].mean().sort_values(['variable','value'], ascending=[True, False])

2. 关闭科学计数法显示

Pandas会自动对过大/过小的数值启用科学计数法,可通过两种方式调整:

  • 全局设置(影响所有Pandas输出):
# 取消科学计数法,保留两位小数(可根据需求调整小数位数)
pd.set_option('display.float_format', lambda x: '%.2f' % x)
  • 仅格式化当前结果(不影响全局设置):
result = result.style.format({'value': '{:.2f}'})

完整示例代码

import pandas as pd

# 读取数据集
df = pd.read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2022/2022-07-19/technology.csv')

# 分组求均值+组内降序排序
grouped_result = df.groupby(['variable','iso3c'])[['value']].mean().sort_values(['variable','value'], ascending=[True, False])

# 关闭科学计数法显示
pd.set_option('display.float_format', lambda x: '%.2f' % x)

# 查看结果
print(grouped_result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 18:39:40