我正在尝试在名为 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)
只需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)
| 归档时间: |
|
| 查看次数: |
4700 次 |
| 最近记录: |