簡體   English   中英

熊貓的重新采樣-獲取平均值。 一段的時間

[英]Panda's resampling - Get Mean for a freq. Period of TIME

我有一個這樣的df其中Timestamp為INDEX( dtype='datetime64[ns] )和1Y關聯值:

                     values
Timestamp   
2014-01-01 00:00:00 20.155100
2014-01-01 00:15:00 7.586481
2014-01-01 00:30:00 73.115602
2014-01-01 00:45:00 5.936765
2014-01-01 01:00:00 82.130244

...

現在我想確定每天,每周,每月和每季度的08:00:00和20:00:00之間的所有值的平均值?

der是否是正確的pd.resample選項? 如果沒有,有什么建議嗎?

有一些解決方案:

首先導入df ,如下所示:

timestamp   values
0   2014-01-01 00:00:00 20.155100
1   2014-01-01 00:15:00 7.586481
2   2014-01-01 00:30:00 73.115602
3   2014-01-01 00:45:00 5.936765
4   2014-01-01 01:00:00 82.130244

然后將time.hour列應用於df並應用條件邏輯:

df["hour"] = df["timestamp"].apply(lambda time: time.hour)

Output:

timestamp   values  hour
0   2014-01-01 00:00:00 20.155100   0
1   2014-01-01 00:15:00 7.586481    0
2   2014-01-01 00:30:00 73.115602   0
3   2014-01-01 00:45:00 5.936765    0
4   2014-01-01 01:00:00 82.130244   1

df_new = df[(df["hour"]>=8) & (df["hour"] < 20)].drop("hour", axis=1) #apply conditional logic to a Pandas DataFrame
df_new.set_index("timestamp").resample("1D").mean().head() #resample

Output:

               value
timestamp   
2014-01-01  46.139711
2014-01-02  48.794015
2014-01-03  48.818879
2014-01-04  50.030388
2014-01-05  55.124282

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM