您好,登錄后才能下訂單哦!
摘要在上一篇文章,時間日期處理的入門里面,我們簡單介紹了一下載pandas里對時間日期的簡單操作。下面將補充一些常用方法。
時間日期的比較
假設我們有數據集df如下
在對時間日期進行比較之前,要先轉一下格式。
轉格式的時候用
import pandas as pd pd.to_datetime()
我們需要先對df中的date這一列轉為時間格式。
df['date']=pd.to_datetime(df['date'])
轉完后,我們可以輸出數據集的數據類型來看看。
print df.info()
紅框中的date這一列數據類型是datetime64[ns],下面我們就可以對日期做大小的判斷。
1.過濾某個時間片的數據&取某個時間片的數據
假設,我們需要去掉數據集df中6月10號后的樣本
df[df['date']<=pd.datetime(2016,6,10)]
當然,我們如果需要取某個時間片的數據,只需要取等號就可以了。
2.判斷某個日期是周幾
假如,在數據集df中,我們需要對日期添加今天是周幾的信息。我們可以這樣做:
pd.to_datetime(df['date']).dt.weekday_name
有時候,我只需要一個數字來量化周幾,只需要把改動一下
pd.to_datetime(df['date']).dt.weekday
3.對日期做加減法。
有時候,我們需要對日期進行年、月、日上時間的增減。這個時候,我們可以這樣操作:
首先,我們要導入一個新的庫
import dateutil
1.對日期進行增減
假如我們需要對2016年3月1號增加一天。
pd.datetime(2016,3,1)+dateutil.relativedelta.relativedelta(days=1)
如果需要日期進行減一天,把+號改成-號就可以了。
如果需要對年或者月,甚至時分秒增減也可以。變量名分別如下:
years months days hours minutes seconds
2.判斷增減后的日期是否為當月最后一天&開始的一天
pd.to_datetime(pd.datetime(2016,3,1)+dateutil.relativedelta.relativedelta(day=1)).is_month_start
判斷是否為最后一天,把start改成end即可
4.判斷是否為閏年
pd.to_datetime(pd.datetime(2016,1,1).is_leap_year
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。