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

如何将DataFrame中RANK≥4的行移至头部且保留其余行原排序

实现指定行移至DataFrame头部且保留原有排序

你可以通过拆分+拼接或者临时优先级排序两种方式实现需求,两种方法都能保留原DataFrame中各自部分的排序规则:

方法一:拆分拼接法(直观高效)

直接拆分出需要移到头部的行和剩余行,再按顺序拼接——因为原DataFrame已按RANK排序,拆分后的两部分内部顺序会自动保留:

import pandas as pd

# 提取RANK>=4的行(保留原顺序)
top_rows = df1[df1['RANK'] >= 4]
# 提取剩余行(保留原顺序)
bottom_rows = df1[df1['RANK'] < 4]
# 拼接得到结果
result_df = pd.concat([top_rows, bottom_rows], ignore_index=False)

方法二:临时优先级排序法

通过添加临时优先级列,让目标行的优先级更高,排序后再删除临时列:

# 添加临时优先级列:RANK>=4的优先级设为0(排前面),其余为1
df1['temp_priority'] = df1['RANK'].map(lambda x: 0 if x >= 4 else 1)
# 按优先级升序排序,同时保留原RANK的排序规则
result_df = df1.sort_values(by=['temp_priority', 'RANK']).drop('temp_priority', axis=1)

两种方法最终都能得到你想要的结果:拆分拼接法更适合简单场景,优先级排序法可扩展到更复杂的多规则优先级需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 13:03:12