我想为另一列中的每个唯一值获取一列的最大值,并按另一列分组。
说我有以下内容:
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()
但是我需要在每个独特的年份都这样做。谢谢
答案 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