網(wǎng)站首頁 編程語言 正文
前言
一般從數(shù)據(jù)庫或者是從日志文件讀出的數(shù)據(jù)均帶有時(shí)間序列,做時(shí)序數(shù)據(jù)處理或者實(shí)時(shí)分析都需要對其時(shí)間序列進(jìn)行歸類歸檔。而Pandas是處理這些數(shù)據(jù)很好用的工具包。此篇博客基于Jupyter之上進(jìn)行演示,本篇博客的愿景是希望我或者讀者通過閱讀這篇博客能夠?qū)W會(huì)方法并能實(shí)際運(yùn)用。希望讀者看完能夠提出問題或者看法,博主會(huì)長期維護(hù)博客做及時(shí)更新。純分享,希望大家喜歡。
一、獲取時(shí)間
python自帶datetime庫,通過調(diào)用此庫可以獲取本地時(shí)間
from datetime import datetime
datetime.now()
?同時(shí)也可以獨(dú)立獲取年月日:
datetime.now().day
datetime.now().year
datetime.now().moth
?isoweekday()獲取符合ISO標(biāo)準(zhǔn)的指定日期所在的星期數(shù):
datetime.now().isoweekday()
為星期二。
但也有weekeday()方法但是是從0開始,也就是說0也就是周一,需要加一轉(zhuǎn)為周數(shù):
datetime.now().weekday()+1
?datetime可以將日期(date)和時(shí)間(time)分隔開:
datetime.now().date()
datetime.now().time()
也可以用timetuple()函數(shù)將整個(gè)時(shí)間拆分為結(jié)構(gòu)體:
datetime.now().timetuple()
?要轉(zhuǎn)換為自定義熟悉的時(shí)間表達(dá)可以使用strftime()函數(shù),其輸出代碼格式有以下幾種:
datetime.now().strftime('%Y-%m-%d')
datetime.now().strftime('%m/%d/%Y %H:%M:%S')
二、時(shí)間索引
時(shí)間索引是根據(jù)數(shù)據(jù)的時(shí)間來處理時(shí)序數(shù)據(jù)進(jìn)行歸檔篩選的一種索引方式。
展示數(shù)據(jù):
首先查看類型是否為 datetime類型,是該類型再重新設(shè)定索引,否則需要先把索引時(shí)間列轉(zhuǎn)換為datetime類型再進(jìn)行設(shè)定。
df1.set_index('first_order_time')
?若要查找2019年的數(shù)據(jù),只需要在 后面加上日期即可:
df1['2019']
想要獲取詳細(xì)的日期的數(shù)據(jù)只需要在[]里面輸入對應(yīng)的日期即可:
df1['2019-05-13']
獲取區(qū)間日期數(shù)據(jù):
df1['2019-05-01':'2019-05-13']
三、時(shí)間推移
?如果時(shí)序數(shù)據(jù)提取出來時(shí)間并不符合對應(yīng)時(shí)間戳,則可以使用timedelta進(jìn)行推移時(shí)間:
timedelta類表示為時(shí)間差,可直接實(shí)例化也可以由兩個(gè)datetime進(jìn)行相減操作得到。
可表示的時(shí)間差依次為:
days,seconds,microseconds,minutes,hours,weeks
?如我們要推移一天時(shí)間:
date = datetime(2019,5,10)
date+timedelta(days = 1)
?往后推移只需要減去對應(yīng)天數(shù)就好了。
比起timedelta,有date offset可以直接進(jìn)行時(shí)間推移,并不需要換算,效率比timedelta要快很多。
引入庫:
from pandas.tseries.offsets import Day,Hour,Minute
date+Day(1)
計(jì)算結(jié)果為timestamp:?
原文鏈接:https://blog.csdn.net/master_hunter/article/details/124785079
相關(guān)推薦
- 2022-11-21 Android四大組件之broadcast廣播詳解_Android
- 2022-05-09 Python數(shù)據(jù)結(jié)構(gòu)與算法的雙端隊(duì)列詳解_python
- 2022-11-09 linphone-sdk-android版本號生成解析_Android
- 2022-07-13 Linux下網(wǎng)絡(luò)配置和ifconfig命令的使用
- 2022-03-26 .Net?Core微服務(wù)rpc框架GRPC通信基礎(chǔ)_基礎(chǔ)應(yīng)用
- 2021-12-03 Go語言原子操作及互斥鎖的區(qū)別_Golang
- 2022-11-21 Nginx解決history模式下頁面刷新404問題示例_nginx
- 2022-03-15 redis編譯報(bào)致命錯(cuò)誤:jemalloc/jemalloc.h:沒有那個(gè)文件或目錄
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支