2017-12-23 25 views
2

이것은 나를 미치게합니다. 나는 그것이 발생했을 때의 시간을 보여 주면서 시계열의 최대 일일 가치를 찾으려고 노력하고있다. datetimeindex, 두 번째 datetime 열 및 최대 온도 있습니다. 내가시계열을 재 샘플링하고 시간을 표시

temperature_max = temperature.resample('D').max() 

을 할 경우 둘 다 시간 (23시 59분) 및 온도에 대한 최대 값을 얻는다. 최대 온도가 발생한 시간을 어떻게 알 수 있습니까? 많은 감사합니다!

답변

2

는 당신이 최대 temperature의 인덱스 idxmax을 필요로하고 loc에 의해 선택 믿습니다

temperature_max = temperature.loc[temperature.resample('D')['temperature'].idxmax()] 

샘플 :

rng = pd.date_range('2017-04-03', periods=10) 
r = pd.date_range('2017-04-03', periods=10, freq='12H') 
temperature = pd.DataFrame({'Date': rng, 'temperature': range(10)}, index=r) 
print (temperature) 
          Date temperature 
2017-04-03 00:00:00 2017-04-03   0 
2017-04-03 12:00:00 2017-04-04   1 
2017-04-04 00:00:00 2017-04-05   2 
2017-04-04 12:00:00 2017-04-06   3 
2017-04-05 00:00:00 2017-04-07   4 
2017-04-05 12:00:00 2017-04-08   5 
2017-04-06 00:00:00 2017-04-09   6 
2017-04-06 12:00:00 2017-04-10   7 
2017-04-07 00:00:00 2017-04-11   8 
2017-04-07 12:00:00 2017-04-12   9 

temperature_max = temperature.loc[temperature.resample('D')['temperature'].idxmax()] 
print (temperature_max) 
          Date temperature 
2017-04-03 12:00:00 2017-04-04   1 
2017-04-04 12:00:00 2017-04-06   3 
2017-04-05 12:00:00 2017-04-08   5 
2017-04-06 12:00:00 2017-04-10   7 
2017-04-07 12:00:00 2017-04-12   9