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

如何在pandas中对含重复值的列排序,实现分组重复排列Temp值

问题解决方法

你的核心问题是排序优先级设置错误,原来的逻辑会跨name_1/name_2组混合排列不同组的行,只需要调整排序键的顺序即可实现需求:

实现代码

# 方式1:按原始索引保证组顺序,再按x1、Temp排序(适配你给出的示例数据结构)
df_sorted = df.sort_values(by=[df.index, 'x1', 'Temp'])

# 方式2:如果需要严格按name分组排序,不依赖原始索引,可使用如下代码
df_sorted = df.sort_values(by=['name_1', 'name_2', 'x1', 'Temp'])

# 补充:如果存在x1相同但x2不同的场景,可把x2加入排序键
# df_sorted = df.sort_values(by=[df.index, 'x1', 'x2', 'Temp'])

逻辑说明

  • 第一排序优先级为组标识(原始索引或name_1+name_2组合),保证相同名称组的所有行排在一块,不会跨组混合
  • 第二排序优先级为x1,保证相同x1(对应相同x2,你示例中x1+x2=1)的行排在一块
  • 第三排序优先级为Temp,相同x1下按温度升序排列,刚好匹配你需要的温度重复排列效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:06:03