Pandas分组依据并获取相应的值[重复]

5sxhfpxr  于 2023-01-15  发布在  其他
关注(0)|答案(1)|浏览(91)
    • 此问题在此处已有答案**:

Get the row(s) which have the max value in groups using groupby(15个答案)
2天前关闭。
截至2天前,社区正在审查是否重新讨论此问题。
假设我们有一个Pandas数据框如下

data = {'date':['2022-10-01', '2022-10-01', '2022-10-02', '2022-10-02', '2022-10-02'],
'price': [10, 20, 30, 40, 50],
'store': ['A', 'B', 'A', 'C', 'B']
}
df = pd.DataFrame(data)

我想按date分组并获得最大价格值,对于最大price,我想获得相应的存储值,即我不想对store列应用最大聚合。
我怎样才能做到呢?

    • 预期产出**
+------------+-------+-------+
|    date    | price | store |
+------------+-------+-------+
| 2022-10-01 |    20 | B     |
| 2022-10-02 |    50 | B     |
+------------+-------+-------+
yyyllmsg

yyyllmsg1#

另一个有趣的方法是排序值而不是删除重复的日期:

>>> (df.sort_values(['date', 'price'], ascending=[True, False])
       .drop_duplicates('date'))

         date  price store
1  2022-10-01     20     B
4  2022-10-02     50     B

相关问题