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