日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Pandas處理時間序列數據操作詳解_python

作者:fanstuck ? 更新時間: 2022-07-30 編程語言

前言

一般從數據庫或者是從日志文件讀出的數據均帶有時間序列,做時序數據處理或者實時分析都需要對其時間序列進行歸類歸檔。而Pandas是處理這些數據很好用的工具包。此篇博客基于Jupyter之上進行演示,本篇博客的愿景是希望我或者讀者通過閱讀這篇博客能夠學會方法并能實際運用。希望讀者看完能夠提出問題或者看法,博主會長期維護博客做及時更新。純分享,希望大家喜歡。

一、獲取時間

python自帶datetime庫,通過調用此庫可以獲取本地時間

from datetime import datetime
datetime.now()

?同時也可以獨立獲取年月日:

datetime.now().day
datetime.now().year
datetime.now().moth

?isoweekday()獲取符合ISO標準的指定日期所在的星期數:

datetime.now().isoweekday()

為星期二。

但也有weekeday()方法但是是從0開始,也就是說0也就是周一,需要加一轉為周數:

datetime.now().weekday()+1

?datetime可以將日期(date)和時間(time)分隔開:

datetime.now().date()

datetime.now().time()

也可以用timetuple()函數將整個時間拆分為結構體:

datetime.now().timetuple()

?要轉換為自定義熟悉的時間表達可以使用strftime()函數,其輸出代碼格式有以下幾種:

datetime.now().strftime('%Y-%m-%d')

datetime.now().strftime('%m/%d/%Y %H:%M:%S')

二、時間索引

時間索引是根據數據的時間來處理時序數據進行歸檔篩選的一種索引方式。

展示數據:

首先查看類型是否為 datetime類型,是該類型再重新設定索引,否則需要先把索引時間列轉換為datetime類型再進行設定。

df1.set_index('first_order_time')

?若要查找2019年的數據,只需要在 后面加上日期即可:

df1['2019']

想要獲取詳細的日期的數據只需要在[]里面輸入對應的日期即可:

df1['2019-05-13']

獲取區間日期數據:

df1['2019-05-01':'2019-05-13']

三、時間推移

?如果時序數據提取出來時間并不符合對應時間戳,則可以使用timedelta進行推移時間:

timedelta類表示為時間差,可直接實例化也可以由兩個datetime進行相減操作得到。

可表示的時間差依次為:

days,seconds,microseconds,minutes,hours,weeks

?如我們要推移一天時間:

date = datetime(2019,5,10)
date+timedelta(days = 1)

?往后推移只需要減去對應天數就好了。

比起timedelta,有date offset可以直接進行時間推移,并不需要換算,效率比timedelta要快很多。

引入庫:

from pandas.tseries.offsets import Day,Hour,Minute
date+Day(1)

計算結果為timestamp:?

原文鏈接:https://blog.csdn.net/master_hunter/article/details/124785079

欄目分類
最近更新