您好,登錄后才能下訂單哦!
這篇文章主要講解了“Python的Pandas時序數據實例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python的Pandas時序數據實例分析”吧!
前言 在數據分析中,時序數據是一類非常重要的數據。事物的發展總是伴隨著時間的推移,數據也會在各個時間點上產生。
datetime
模塊Python的標準庫datetime
支持創建和處理時間,Pandas的時間時序模塊是在datetime
的基礎上建立的。
import datetime now = datetime.datetime.now() # 2022-03-06 18:43:49.506048
其中now的全貌如下,是一個datetime
對象:
now: datetime.datetime(2022, 3, 6, 18, 37, 10, 132078)
datetime.datetime
對象常用的方法:
(1) strftime()
: 對datetime
對象的格式進行轉換。使用含%
的占位符書寫目標格式,如:
newForm = now.strftime("%Y-%m-%d (%H:%M:%S)") # 2022-03-06 (18:52:31) 為字符串類型
各占位符的含義如下
% y 兩位數的年份表示(00 - 99) % Y 四位數的年份表示(000 - 9999) % m 月份(01 - 12) % d 月內中的一天(0 - 31) % H 24小時制小時數(0 - 23) % I 12小時制小時數(01 - 12) % M 分鐘數(00 = 59) % S 秒(00 - 59) % a 本地簡化星期名稱 % A 本地完整星期名稱 % b 本地簡化的月份名稱 % B 本地完整的月份名稱 % c 本地相應的日期表示和時間表示 % j 年內的一天(001 - 366) % p 本地A.M.或P.M.的等價符 % U 一年中的星期數(00 - 53)星期天為星期的開始 % w 星期(0 - 6),星期天為星期的開始 % W 一年中的星期數(00 - 53)星期一為星期的開始 % x 本地相應的日期表示 % X 本地相應的時間表示 % Z 當前時區的名稱 % % % 號本身
向datetime.datetime()
中傳入對應的參數,默認按照單位從大到小指定
birthday = datetime.datetime(2001, 1, 11) # 默認指定 print(birthday)
也可以通過參數指定,其中year
、monnth
、day
三個參數必須指定
yesterday = pd.Timestamp(2022, 3, 5) # 2022-03-05 00:00:00 now = pd.Timestamp("now") # 2022-03-06 19:13:56.507604
(1) datetime.datetime
對象之間支持減法運算,得到的是一個datetime.timedelta
對象
delta = yeaterday - birthday # 7723 days, 0:00:00
pd.Timestamp()
是Pandas
定義事時間的主要函數, 支持更豐富的定義時間的構造方法
(1) 根據datetime.datetime
對象
now = pd.Timestamp(datetime.datetime.now()) print(now) # 2022-03-06 19:07:07.253402
(2) 根據字符串
today = pd.Timestamp("2022-03-06") print(today) # 2022-03-06 00:00:00
(3) 更具指定的參數
yesterday = pd.Timestamp(2022, 3, 5) # 2022-03-05 00:00:00 now = pd.Timestamp("now") # 2022-03-06 19:13:56.507604
(4) 根據時間戳
pd.Timestamp(1646565103.114923, unit="s") # unit指定單位為秒
pd.Timedelta()
用于創建時間差對象,也具有與pd.Timestamp()
類似的構造方法。
(1) 根據字符串創建
oneDay = pd.Timedelta("1 days") # 1 days 00:00:00 duration = pd.Timedelta("2 days 2 hours") # 1 days 02:00:00
(2) 指定參數創建
oneDay = pd.Timedelta(days=1) # 1 days 00:00:00
與`datetime`模塊運算類似,`pandas`的`Timestamp`對象之間相減可以得到`Timedelta`對象。
數據表中長常使用時間作為索引,pandas
支持創建長時間序列
(1) pd.to_datetime()
pd.to_datetime()
支持將時間對象和類時間字符串轉化為DatetimeIndex
對象。
index = pd.to_datetime(["03/06/2022", datetime.datetime.now()]) print(index) # DatetimeIndex(['2022-03-06 00:00:00', '2022-03-06 19:29:44.855267'], dtype='datetime64[ns]', freq=None)
(2) pd.date_range()
pd.date_range()
可以給定開始時間或者結束時間,并且指定周期數據,周期頻率,會自動生成在此范圍的時間索引數據:
index = pd.date_range(start="2022-01-01", periods=10) print(index) # DatetimeIndex(['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06', '2022-01-07', '2022-01-08', '2022-01-09', '2022-01-10'], dtype='datetime64[ns]', freq='D')
如果要跳過休息日可以使用pd.bdate_range()
函數
感謝各位的閱讀,以上就是“Python的Pandas時序數據實例分析”的內容了,經過本文的學習后,相信大家對Python的Pandas時序數據實例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。