
我的資料框如上所示。dtypes是
weekday int64
date datetime64[ns]
time object
customers int64
dtype: object
我想將客戶列相加為過去 2 小時內到達的客戶數量(存盤在列日期中)。但是,使用熊貓滾動功能,我只能寫
df['customers'] = df['date'].rolling(2).count()
這僅計算前兩個日期行,完全不考慮日期時間值。我想寫
df['customers'] = df['date'].rolling('2H').count() #desired: 2H
得到正確的結果。但是,我得到ValueError: window must be an integer. 從 pandas 讀取滾動檔案,datetime 物件應該能夠接收滾動時間視窗(https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.rolling.html)。我完全不知道為什么我的日期時間列不能使用這個功能。
uj5u.com熱心網友回復:
創建排序DatetimeIndex:
df['date'] = pd.to_datetime(df['date'])
df = df.set_index('date').sort_index()
df['customers'] = df['customers'].rolling('2H').count()
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/442408.html
