python - 如何按列的值对 pandas 数据框的行进行分组?

标签 python pandas

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

假设我们有一个名为 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 是一个选项。但是对于我正在处理的超大数据集来说,它非常慢。这就是为什么我认为将其放入列表词典中可能会更好。

谢谢。

最佳答案

看来你需要:

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']]}

关于python - 如何按列的值对 pandas 数据框的行进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45578248/

相关文章:

python - 如何从轮廓的质心到轮廓的周长画一条线?

python - 跨列时间序列的数据框中的条件计数

python-2.7 - 属性错误 : 'module' object has no attribute 'version'

python - 在 Pandas 中使用 DataFrame.where 方法时出现 ValueError

python - 避免大型 Pandas DataFrame 上 GroupBy 的内存问题

python - 当 x 值为日期时间时,如何使用 polyfit 获得最佳拟合曲线?

python - 用python脚本抓取gif动画

python - 如何将 postman 的不记名 token 读入 Python 代码?

python - Pandas 中的索引如何工作?

python - 计算每 5 行特定列的平均值,并选择 pandas 数据框中另一列的最后一个数据(第五个)