溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python pandas 時(shí)間日期的處理實(shí)現(xiàn)

發(fā)布時(shí)間:2020-10-15 23:12:07 來(lái)源:腳本之家 閱讀:761 作者:kingsam_ 欄目:開(kāi)發(fā)技術(shù)

摘要在上一篇文章,時(shí)間日期處理的入門(mén)里面,我們簡(jiǎn)單介紹了一下載pandas里對(duì)時(shí)間日期的簡(jiǎn)單操作。下面將補(bǔ)充一些常用方法。

時(shí)間日期的比較

假設(shè)我們有數(shù)據(jù)集df如下

python pandas 時(shí)間日期的處理實(shí)現(xiàn)

在對(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()

python pandas 時(shí)間日期的處理實(shí)現(xiàn)

紅框中的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)]

python pandas 時(shí)間日期的處理實(shí)現(xiàn)

當(dāng)然,我們?nèi)绻枰∧硞€(gè)時(shí)間片的數(shù)據(jù),只需要取等號(hào)就可以了。

2.判斷某個(gè)日期是周幾

假如,在數(shù)據(jù)集df中,我們需要對(duì)日期添加今天是周幾的信息。我們可以這樣做:

pd.to_datetime(df['date']).dt.weekday_name

python pandas 時(shí)間日期的處理實(shí)現(xiàn)

有時(shí)候,我只需要一個(gè)數(shù)字來(lái)量化周幾,只需要把改動(dòng)一下

復(fù)制代碼 代碼如下:
pd.to_datetime(df['date']).dt.weekday

python pandas 時(shí)間日期的處理實(shí)現(xiàn)

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

python pandas 時(shí)間日期的處理實(shí)現(xiàn)

判斷是否為最后一天,把start改成end即可

python pandas 時(shí)間日期的處理實(shí)現(xiàn)

4.判斷是否為閏年

pd.to_datetime(pd.datetime(2016,1,1).is_leap_year

python pandas 時(shí)間日期的處理實(shí)現(xiàn)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI