Pandas中對 時間 這個屬性的處理有非常非常多的操作。具體可以參考以下連結:
pandas
而本文對其中一個大家可能比較陌生的方法進行講解。其他的我會陸續上傳。
應用情景是這樣的:考慮到有一個資料集,資料集中有使用者註冊帳號的時間(年-月-日),如下圖格式。
如果我們希望對使用者帳號註冊時間轉為具體的天數,我們可以用如下代碼。
import pandas as pdtd=data['user_reg_tm']Time=pd.to_datetime(td)Start=pd.datetime(2016,4,16)day=Start-Time
最後,把天數插入到原來的表中
data['Day']=day
——————————————————————————————分割線——————————————————
下面簡單的說一下一個時間的建立一些細節。
date=pd.Series(['2016411'])pd.to_datetime(date)
這樣就建立一個時間為 2016-4-11的時間值。
這裡有個細節,就是字串裡的時間格式,年月日之間如果沒有分隔,pandas會自動用-號分開,如果要自己手動分隔,例如
date=pd.Series(['2016-4-11'])
這也可以,或者用/號。但是注意,只能用- 或者/來進行分隔,不可使用別的。
有時候我們還需要有時分秒的資訊。
date=pd.Series(['2016-4-11 12:12:12'])
最後再說下一個問題,上面我獲得的天數後我們怎麼單獨取出“天數”來呢。
很簡單,用.days來訪問。
對於 Series類型,用 data.dt.days
對於 Timedelta類型,可以直接存取 即 data.days。
例如:
因為data['Day']是Series類型的
data['Day'].dt.days
因為day是Timedelta類型的 day.days
___________________________________________________________________________
更新:時間處理下篇連結點擊開啟連結