Python 如何删除值不是最大值的所有日期?

Python 如何删除值不是最大值的所有日期?,python,pandas,Python,Pandas,这是一个数据框,其中每个日期有多个值,但我只想要每个日期的最大数据值。 注:该数据范围为2005-2014年 ID Date Element Data_Value 49030 USC00207312 2005-01-01 TMAX 150 55424 USC00207308 2005-01-01 TMAX 150 18261 USC00205050 2005-01-01 TMAX 56 18049 USW00

这是一个数据框,其中每个日期有多个值,但我只想要每个日期的最大数据值。 注:该数据范围为2005-2014年

        ID             Date    Element  Data_Value
49030   USC00207312 2005-01-01  TMAX    150
55424   USC00207308 2005-01-01  TMAX    150
18261   USC00205050 2005-01-01  TMAX    56
18049   USW00014853 2005-01-01  TMAX    56
60994   USW00004848 2005-01-01  TMAX    133
31715   USC00205451 2005-01-01  TMAX    156

尝试将groupby与idxmax和布尔索引一起使用:

df.loc[df.groupby('Date')['Data_Value'].idxmax()]
输出:

                 ID        Date Element  Data_Value
31715  USC00205451  2005-01-01    TMAX         156 

df.groupby(“日期”).max()应该足够。如果需要具有最大数据值的行,请使用
df.loc[df.groupby(“日期”)[“数据值”].idxmax()]