Python 如何删除值不是最大值的所有日期?
这是一个数据框,其中每个日期有多个值,但我只想要每个日期的最大数据值。 注:该数据范围为2005-2014年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
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()]
。