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

如何使用Python Pandas按DataFrame的B列唯一值分组

解决方案

可以用Pandas的分组功能结合列表推导式快速实现需求,具体步骤如下:

1. 准备DataFrame(如果已有可跳过)

先构造与你提供的结构一致的示例DataFrame:

import pandas as pd

data = {
    'A': ['1990-02', '1990-03', '1999-05', '1992-08', '1996-12', '2020-01', '1990-05', '1995-08', '1999-11', '2021-12'],
    'B': [1, 1, 1, 2, 2, 2, 3, 3, 3, 3]
}
df = pd.DataFrame(data)

2. 分组转换为目标格式

执行以下代码即可得到你需要的嵌套列表结构:

result = [group.values.tolist() for _, group in df.groupby('B', sort=False)]

结果验证

输出result会得到:

[[['1990-02', 1], ['1990-03', 1], ['1999-05', 1]],
 [['1992-08', 2], ['1996-12', 2], ['2020-01', 2]],
 [['1990-05', 3], ['1995-08', 3], ['1999-11', 3], ['2021-12', 3]]]

关键说明

  • df.groupby('B', sort=False):按B列的唯一值分组,sort=False确保分组顺序和原DataFrame中B值首次出现的顺序一致(若不需要保留顺序可移除该参数)
  • group.values.tolist():将每个分组的子DataFrame直接转换为嵌套列表,每一行对应[A列值, B列值]的子列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 03:45:38