我有一個資料框,其日期/時間作為“parse_dates”傳遞,然后設定為資料框的索引列。
Flow Enter Leave kWE kW
Time
2021-08-30 08:50:00 24.22 14.0 5.7 66.56 619.478012
2021-08-30 08:51:00 24.22 14.0 5.7 66.56 619.478012
我想獲得每小時和每天的“kWE”和“Flow”列的平均值,盡管我不確定在將日期/時間設定為索引時如何提取資料。
uj5u.com熱心網友回復:
您可以使用resample每小時 ( h) 頻率:
cols = ['Flow', 'kWE']
df.resample('h')[cols].mean()
輸出:
Flow kWE
Time
2021-08-30 08:00:00 24.22 66.56
或使用origin='start'以使用第一個值作為起點。
注意不同的索引。這里的結果是相同的,但這可能會在更大的資料上給出不同的輸出,具體取決于行的聚類方式:
df.resample('h', origin='start')[cols].mean()
輸出:
Flow kWE
Time
2021-08-30 08:50:00 24.22 66.56
uj5u.com熱心網友回復:
采用:
#Preparing data
string = """Time Flow Enter Leave kWE kW
2021-08-30 08:50:00 24.22 14.0 5.7 66.56 619.478012
2021-08-30 08:51:00 24.22 14.0 5.7 66.56 619.478012"""
data = [x.split(' ') for x in string.split('\n')]
df = pd.DataFrame(data[1:], columns = data[0])
df['Time']=pd.to_datetime(df['Time'])
df = df.set_index('Time')
#Solution, daily and hourly averages:
df.groupby(df.index.day)[['kWE', 'Flow']].mean()
df.groupby(df.index.hour)[['kWE', 'Flow']].mean()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/474499.html
上一篇:R資料框過濾器值
