python pandas 時(shí)間日期的處理實(shí)現(xiàn)
摘要在上一篇文章,時(shí)間日期處理的入門里面,我們簡單介紹了一下載pandas里對時(shí)間日期的簡單操作。下面將補(bǔ)充一些常用方法。
時(shí)間日期的比較
假設(shè)我們有數(shù)據(jù)集df如下

在對時(shí)間日期進(jìn)行比較之前,要先轉(zhuǎn)一下格式。
轉(zhuǎn)格式的時(shí)候用
import pandas as pd pd.to_datetime()
我們需要先對df中的date這一列轉(zhuǎn)為時(shí)間格式。
df['date']=pd.to_datetime(df['date'])
轉(zhuǎn)完后,我們可以輸出數(shù)據(jù)集的數(shù)據(jù)類型來看看。
print df.info()

紅框中的date這一列數(shù)據(jù)類型是datetime64[ns],下面我們就可以對日期做大小的判斷。
1.過濾某個(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中,我們需要對日期添加今天是周幾的信息。我們可以這樣做:
pd.to_datetime(df['date']).dt.weekday_name

有時(shí)候,我只需要一個(gè)數(shù)字來量化周幾,只需要把改動(dòng)一下
pd.to_datetime(df['date']).dt.weekday
3.對日期做加減法。
有時(shí)候,我們需要對日期進(jìn)行年、月、日上時(shí)間的增減。這個(gè)時(shí)候,我們可以這樣操作:
首先,我們要導(dǎo)入一個(gè)新的庫
import dateutil
1.對日期進(jìn)行增減
假如我們需要對2016年3月1號(hào)增加一天。
pd.datetime(2016,3,1)+dateutil.relativedelta.relativedelta(days=1)
如果需要日期進(jìn)行減一天,把+號(hào)改成-號(hào)就可以了。
如果需要對年或者月,甚至?xí)r分秒增減也可以。變量名分別如下:
years months days hours minutes seconds
2.判斷增減后的日期是否為當(dāng)月最后一天&開始的一天
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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Flask框架通過Flask_login實(shí)現(xiàn)用戶登錄功能示例
這篇文章主要介紹了Flask框架通過Flask_login實(shí)現(xiàn)用戶登錄功能,結(jié)合實(shí)例形式較為詳細(xì)的分析了flask框架使用Flask_login實(shí)現(xiàn)用戶登陸功能的具體操作步驟、相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2018-07-07
如何在Python項(xiàng)目中做多環(huán)境配置(環(huán)境變量使用.env文件)
實(shí)際工程開發(fā)中常常會(huì)對開發(fā)、測試和生產(chǎn)等不同環(huán)境配置不同的數(shù)據(jù)庫環(huán)境,傳統(tǒng)方式可以通過添加不同環(huán)境的配置文件達(dá)到部署時(shí)的動(dòng)態(tài)切換的效果,這篇文章主要給大家介紹了關(guān)于如何在Python項(xiàng)目中做多環(huán)境配置的相關(guān)資料,環(huán)境變量使用.env文件,需要的朋友可以參考下2024-06-06
盤點(diǎn)Python加密解密模塊hashlib的7種加密算法(推薦)
這篇文章主要介紹了盤點(diǎn)Python加密解密模塊hashlib的7種加密算法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
pyinstaller將python程序打包為可執(zhí)行文件
這篇文章主要介紹了pyinstaller將python程序打包為可執(zhí)行文件,pyinstaller是一個(gè)python打包工具,它將python程序及所需依賴都打包成一個(gè)可執(zhí)行文件2022-08-08
Python pkg_resources模塊動(dòng)態(tài)加載插件實(shí)例分析
當(dāng)編寫應(yīng)用軟件時(shí),我們通常希望程序具有一定的擴(kuò)展性,額外的功能——甚至所有非核心的功能,都能通過插件實(shí)現(xiàn),具有可插拔性。特別是使用 Python 編寫的程序,由于語言本身的動(dòng)態(tài)特性,為我們的插件方案提供了很多種實(shí)現(xiàn)方式2022-08-08
Django中celery的使用項(xiàng)目實(shí)例
Celery是?個(gè) 基于python開發(fā)的分布式異步消息任務(wù)隊(duì)列,通過它可以輕松的實(shí)現(xiàn)任務(wù)的異步處理,下面這篇文章主要給大家介紹了關(guān)于Django中celery使用的相關(guān)資料,需要的朋友可以參考下2022-07-07
Python3.5面向?qū)ο蟪绦蛟O(shè)計(jì)之類的繼承和多態(tài)詳解
這篇文章主要介紹了Python3.5面向?qū)ο蟪绦蛟O(shè)計(jì)之類的繼承和多態(tài),結(jié)合實(shí)例形式詳細(xì)分析了Python3.5面向?qū)ο蟪绦蛟O(shè)計(jì)中類的繼承與多態(tài)常見用法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2019-04-04

