删除 groupby 中的重复行?

use*_*120 3 python pandas

我正在尝试在名为 volume 的数据框中创建一个新列。DF 已经包含其他列,如市场。我想要做的是按价格和公司分组,然后获取它们的数量并将其添加到一个名为 volume 的新列中。这是我所拥有的:

df['volume'] = df.groupby(['price', 'company']).transform('count')
Run Code Online (Sandbox Code Playgroud)

这确实创建了一个新列,但是,它给了我所有的行。我不需要所有的行。例如,在转换之前我会得到 4 行,而在转换之后我仍然得到 4 行但有一个新列。

market  company   price    volume
LA      EK        206.0     2
LA      SQ        206.0     1
LA      EK        206.0     2
LA      EK        36.0      3
LA      EK        36.0      3
LA      SQ        36.0      1
LA      EK        36.0      3
Run Code Online (Sandbox Code Playgroud)

我想删除重复的行。有没有我可以用 groupby 做的查询,它只会显示这样的行:

market  company   price    volume
LA      EK        206.0     2
LA      SQ        206.0     1
LA      SQ        36.0      1
LA      EK        36.0      3
Run Code Online (Sandbox Code Playgroud)

sac*_*cuL 8

只需drop_duplicates使用列['market', 'company', 'price']

>>> df.drop_duplicates(['market', 'company', 'price'])
  market company  price  volume
0     LA      EK  206.0       2
1     LA      SQ  206.0       1
3     LA      EK   36.0       3
5     LA      SQ   36.0       1
Run Code Online (Sandbox Code Playgroud)