首页 > 解决方案 > Pandas GroupBy 相似值并查看是哪个组

问题描述

我有一个数据框,我用彼此相同的行进行分组,并相应地列出值。

    Company                    Who           Dates
0   DE BORTOLI WINES          DIXONS CREEK  1/02/2020
1   DE BORTOLI WINES          DIXONS GREEK  1/02/2020
2   DE BORTOLI WINES          DIXONS CREEK  1/03/2020
3   DE BORTOLI WINES          BILBUL  1/05/2020
4   Ezard@Levantine Hill      Coldstream  1/06/2020
5   Ezard@LevantineHill       Hotstream  1/10/2020
6   RATHBONE WINE GROUP       PORT MELBOURN  1/02/2020
7   YERING STATION            YARRA GLEN  1/05/2020
8   YERING STATION            YARRA GREEN  1/01/2020

通过做这个:

sorted_ = df["Dates"].groupby(df["Company"].ne(df["Company"].shift()).cumsum()).apply(list)

我可以获得同一公司的列表日期列表。

像这样的东西

如果我这样做

sorted_ = df["Who"].groupby(df["Company"].ne(df["Company"].shift()).cumsum()).apply(list)

我可以获得同一公司的名单列表。

所以像

[DIXONS CREEK, DIXONS GREEK, DIXONS CREEK, BILBUL]
[Coldstream, Hotstream]
[PORT MELBOURN]
[YARRA GLEN, YARRA GREEN]

问题是,在一个非常大的数据集中,我真的不知道他们属于哪个公司。我怎样才能看到他们是按哪个公司分组的?

理想结果:

  Company               Result
  DE BORTOLI WINES      [DIXONS CREEK, DIXONS GREEK, DIXONS CREEK, BILBUL]
  Ezard@Levantine Hill  [Coldstream, Hotstream]
  RATHBONE WINE GROUP   [PORT MELBOURN]
  YERING STATION        [YARRA GLEN, YARRA GREEN]

标签: pythonpandas

解决方案


推荐阅读