获取另一列中分组的每个列中每个唯一值的最大值

时间:2019-01-21 13:39:52

标签: python pandas

我想为另一列中的每个唯一值获取一列的最大值,并按另一列分组。

说我有以下内容:

Ticker,Bid,Year
ROG SW,8.0,19
ROG SW,9.0,20
ROG SW,9.5,20
NOVN SW,2.0,19
NESN SW,3.0,19
DAI GR,2.5,20
DAI GR,3.0,19
DAI GR,4.0,19

我希望这样:

Ticker,Bid,Year
ROG SW,8.0,19
ROG SW,9.5,20
NOVN SW,2.0,19
NESN SW,3.0,19
DAI GR,2.5,20
DAI GR,4.0,19

因此,每个股票的每年最高出价。

我知道我可以使用:

 df.groupby(['Ticker'], sort=False)['Bid'].max() 

但是我需要在每个独特的年份都这样做。谢谢

1 个答案:

答案 0 :(得分:1)

尝试:

df.groupby(['Ticker','Year'], as_index=False).max()

输出:

    Ticker  Year  Bid
0   DAI GR    19  4.0
1   DAI GR    20  2.5
2  NESN SW    19  3.0
3  NOVN SW    19  2.0
4   ROG SW    19  8.0
5   ROG SW    20  9.5