我有以下数据框:
ID Date Element Data_Value Month_Day
112671 USC00200032 2005-01-02 TMAX 12.2 01-02
129308 USC00202308 2005-01-02 TMAX 9.4 01-02
93808 USC00200230 2005-01-02 TMAX 11.1 01-02
155271 USC00207308 2005-01-02 TMAX 2.2 01-02
3139 USC00201502 2005-01-02 TMAX 11.1 01-02
“日期”列包含2005年至2014年每一天的值。我想获得跨越这些年的每一天的“ Data_Value”列的最大值。因此,当“ Month_Day”的值相等时,我想为所有这些行选择“ Data_Value”中的最大值。例如,如果“ Data_Value”中2014-01-02的值为“ 12”,而日期2005-01-02的相应值为“ 10”,则应选择12。
我目前有以下代码:
tmax.groupby(['Month_Day'])['Data_Value'].max().reset_index()
它确实会产生结果,但是我不确定它是否正确。在较早的尝试中,当我包含“日期”字段时,所选的行都是同一年的,这似乎很可疑。
所以我的问题是: 1.我当前的代码正确吗? 2.如何在最终输出中包括包含日期的“日期”,以便进行仔细检查?
非常感谢。