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

Pandas如何基于交替分组规则对DataFrame行进行重排序

Pandas 按分组交替重排序实现方案

核心逻辑是先为每个分组内的行生成组内顺序编号,再优先按该编号、其次按分组字段排序,即可得到交替展示分组的效果。
完整可运行代码如下:

import pandas as pd

# 构造你的原始DataFrame
df = pd.DataFrame({
    'name': ['a', 'd', 'b', 'e', 'c', 'f'],
    'value': [10, 20, 20, 10, 30, 30],
    'group': ['group 1', 'group 1', 'group 2', 'group 2', 'group 3', 'group 3']
})

# 核心处理:生成组内序号后排序
df['inner_rank'] = df.groupby('group').cumcount()
result = df.sort_values(by=['inner_rank', 'group']).drop(columns='inner_rank').reset_index(drop=True)

# 打印结果验证
print(result)

运行后输出的结果和你期望的完全一致:

name  value    group
0    a     10  group 1
1    b     20  group 2
2    c     30  group 3
3    d     20  group 1
4    e     10  group 2
5    f     30  group 3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:54:02