首页 > 解决方案 > 使用 Pandas groupby 组合数据

问题描述

我有一个简单的 Pandas 数据框,我希望使用某个列进行分组。df 看起来像下面的那个。

Color    Car
  R      Ford
  O      Kia
  Y      Mazda
  R      Chevrolet

我想按“颜色”分组,所以结果 df 将是:

Color    Car
  R      Ford, Chevrolet 
  O      Kia
  Y      Mazda

使用 pandas groupby 似乎很容易。我的代码如下所示:

df = df.groupby(['Color'])

但我收到以下错误:

Cannot access callable attribute 'iloc' of 'DataFrameGroupBy' objects, try using the 'apply' method 

为什么 groupby 不起作用?这似乎是最适合使用哪个 groupby 的最基本操作?

标签: pythonpandas

解决方案


采用:

df.groupby('Color')['Car'].apply(', '.join)

[出去]

Color
O               Kia
R    Ford, Chevrolet
Y             Mazda

推荐阅读