摘要在上一篇文章,時間日期處理的入門里面,我們簡單介紹了一下載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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
