簡體   English   中英

如何在熊貓數據框中舍入日期時間索引?

[英]How to round date time index in a pandas data frame?

有一個像這樣的熊貓數據框:

index
2018-06-01 02:50:00     R 45.48 -2.8 
2018-06-01 07:13:00     R 45.85 -2.0  
... 
2018-06-01 08:37:00     R 45.87  -2.7

我想將索引舍入到小時,如下所示:

index
2018-06-01 02:00:00     R 45.48 -2.8 
2018-06-01 07:00:00     R 45.85 -2.0  
... 
2018-06-01 08:00:00     R 45.87  -2.7

我正在嘗試以下代碼:

df = df.date_time.apply ( lambda x : x.round('H'))

但返回一個系列而不是帶有修改后的索引列的數據框

嘗試使用floor

df.index.floor('H')

設定:

df = pd.DataFrame(np.arange(25),index=pd.date_range('2018-01-01 01:12:50','2018-01-02 01:12:50',freq='H'),columns=['Value'])
df.head()
                    Value
2018-01-01 01:12:50 0
2018-01-01 02:12:50 1
2018-01-01 03:12:50 2
2018-01-01 04:12:50 3
2018-01-01 05:12:50 4

df.index = df.index.floor('H')
df.head()
                    Value
2018-01-01 01:00:00 0
2018-01-01 02:00:00 1
2018-01-01 03:00:00 2
2018-01-01 04:00:00 3
2018-01-01 05:00:00 4

嘗試這個

df['index'].apply(lambda dt: datetime.datetime(dt.year, dt.month, dt.day, dt.hour,60*(dt.minute // 60)))

試試我的方法:

按小時舍入值添加新列:

df['E'] = df.index.round('H')

將其設置為索引:

df1 = df.set_index('E')

刪除您設置的名稱(此處為“E”):

df1.index.name = None

現在,df1是一個新的DataFrame,索引小時從df四舍五入。

暫無
暫無

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

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