如何按列的值对数据帧的行进行分组?

2024-04-26 12:57:38 发布

您现在位置:Python中文网/ 问答频道 /正文

如何按列的值对数据帧的行进行分组?你知道吗

假设我们有一个名为df的数据帧:

A   B  C
1   1a 1b
1   1c 1d
1   1e 1f
2   2a 2b
2   2c 2d
3   3a 3b
3   3c 3d

我想使用groupby创建以下内容:

1: {[1a, 1b],
    [1c, 1d],
    [1e, 1f]}

2: {[2a,2b],
    [2c, 2d]}


3: {[3a,3b],
    [3c. 3d]}

我知道。loc是一个选择。但对于我正在处理的超大数据集来说,速度非常慢。这就是为什么我认为把它放在清单字典里可能更好。你知道吗

谢谢。你知道吗


Tags: 数据df字典速度locgroupby
1条回答
网友
1楼 · 发布于 2024-04-26 12:57:38

看来你需要:

df = df.groupby('A')['B','C'].apply(lambda x: x.values.tolist()).to_dict()
print (df)
{1: [['1a', '1b'], ['1c', '1d'], ['1e', '1f']], 
 2: [['2a', '2b'], ['2c', '2d']], 
 3: [['3a', '3b'], ['3c', '3d']]}

相关问题 更多 >