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

Python中按相同ID与日期分组提取Rank列生成嵌套数组的方法

解决方案

通过pandas的分组聚合能力即可快速实现需求,核心逻辑是按ID、Date两列分组,将同组的Rank值聚合为列表,最终转为嵌套列表结构。

完整示例代码

import pandas as pd

# 构造和你提供的结构完全一致的示例DataFrame
df = pd.DataFrame({
    'ID': [12, 12, 12, 12, 13, 13, 13],
    'Date': ['12/5', '12/5', '12/5', '12/5', '15/5', '15/5', '15/5'],
    'Rank': [1, 2, 3, 4, 2, 3, 4],
    'Info -': ['Anne', 'Louis', 'Nico', 'Vic', 'Stephanie', 'Athene', 'Louis']
})

# 核心处理逻辑
res = df.groupby(['ID', 'Date'], sort=False)['Rank'].apply(list).tolist()
print(res)

输出结果

运行代码后即可得到你需要的目标结果:

[[1, 2, 3, 4], [2, 3, 4]]

补充说明

  • 加sort=False是为了保证分组顺序和原始数据中ID、Date出现的顺序一致,避免pandas默认对分组键排序导致结果顺序不符
  • 如果你需要同时保留对应的ID、Date信息,可以在聚合后加.reset_index(),即可得到带分组键的结构化DataFrame

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 17:36:03