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

按含重复项的列分组行块并排序的Pandas实现方案

Pandas 数据排序分组解决方案

输入数据

原始数据df2如下:

import pandas as pd

df2 = pd.DataFrame([['01p','seq01,Inj1','0.0825','446','Name','1'],
                  ['01p','seq01,Inj2','0.0560','446','Name','1'],
                  ['01p','seq01,Inj1','0.6789','445','IDZA','3'],
                  ['01p','seq01,Inj2','0.2323','445','IDZA','3'],
                  ['01p','seq01,Inj1','0.4678','359','IDA','2'],
                  ['01p','seq01,Inj2','0.0214','359','IDA','2'],
                  ['02p','seq02,Inj1','0.9999','335','BOC','5'],
                  ['02p','seq02,Inj2','0.1111','335','BOC','5'],
                  ['02p','seq02,Inj1','0.1234','446','FOO','4'],
                  ['02p','seq02,Inj2','0.5812','446','FOO','4']],
                  columns =['Acq. Name', 'Sample Name', 'A','M', 'C', 'Use_Index'])

目标结果

需要得到的目标数据框df如下:

df = pd.DataFrame([['01p','seq01,Inj1','0.0825','446','Name','1'],
                  ['01p','seq01,Inj2','0.0560','446','Name','1'],
                  ['01p','seq01,Inj1','0.4678','359','IDA','2'],
                  ['01p','seq01,Inj2','0.0214','359','IDA','2'],
                  ['01p','seq01,Inj1','0.6789','445','IDZA','3'],
                  ['01p','seq01,Inj2','0.2323','445','IDZA','3'],
                  ['02p','seq02,Inj1','0.1234','446','FOO','4'],
                  ['02p','seq02,Inj2','0.5812','446','FOO','4'],
                  ['02p','seq02,Inj1','0.9999','335','BOC','5'],
                  ['02p','seq02,Inj2','0.1111','335','BOC','5']],
                  columns =['Acq. Name', 'Sample Name', 'A','M', 'C', 'Use_Index'])

解决方案

通过按Use_Index分组,组内先按M升序、再按C降序排序,最后合并分组结果的方式实现需求,代码如下:

df3 = pd.DataFrame(columns=df2.columns)  # 创建空数据框

for group, data in df2.groupby('Use_Index'):
    sorted_data = data.sort_values(by=['M', 'C'], ascending=[True, False])
    sorted_data.reset_index(drop=True, inplace=True)
    sorted_data['Use_Index'] = group
    df3 = pd.concat([df3, sorted_data])

df4 = df3
print(df4)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 03:23:38