使用 Pandas DataFrame 處理時間
在本文中,我們將學習如何使用內建的 pandas 庫生成和處理不同的時間戳。我們還使用 numpy 模組來生成和修改時間戳生成所需的資料庫。
首選 IDE:Jupyter notebook
在開始本教程之前,我們必須安裝 pandas 和 numpy 庫。對於此 jupyter notebook 是測試和執行程式碼的最佳場所。要安裝 pandas,我們必須執行以下命令。
>>> pip install pandas
如果我們執行此命令,所有依賴項將自動安裝。完成後,我們必須重新啟動核心以檢視更改。
安裝完所有依賴項後,我們可以將 pandas 匯入為“p”。
在這裡,我們呼叫資料幀建構函式並使用日期引數初始化一個週期為 4、頻率為 2 小時的資料庫。透過指定鍵“time”,我們正在顯示資料庫。
>>> pip install pandas
>>> import pandas as p
>>> data_struct = p.DataFrame()
>>> data_struct['time'] = p.date_range('14/7/2019', periods = 4, freq='3H')
>>> print(data_struct['time'])
0 2019-07-14 00:00:00
1 2019-07-14 03:00:00
2 2019-07-14 06:00:00
3 2019-07-14 09:00:00
Name: time, dtype: datetime64[ns]透過使用 <data_struct>.dt.<特徵名稱>提取特徵。透過使用 head() 方法,我們顯示資料庫中的所有行。
>>> data_struct['year'] = data_struct['time'].dt.year >>> data_struct.head(4) time 0 2019-07-14 00:00:00 2019 1 2019-07-14 03:00:00 2019 2 2019-07-14 06:00:00 2019 3 2019-07-14 09:00:00 2019
在這裡,我們實現了 numpy 模組中存在的 .array() 函式來建立時間字串。這些字串透過使用 pandas 庫中的 .to_datetime() 方法轉換為 DateTime。
>>> import numpy as n
>>> dt_timestring = n.array(['14-07-2019 07:26 AM', '13-07-2019 11:01 PM'])
>>> timestamps = [p.to_datetime(date, format ="%d-%m-%Y %I:%M %p", errors ="coerce") for date in dt_timestring]
>>> print(timestamps)
[Timestamp('2019-07-14 07:26:00'), Timestamp('2019-07-13 23:01:00')]在這裡,我們使用日期對資料庫進行索引,這意味著“date”欄位將首先透過使用 .set_index() 方法顯示。
>>> data_struct1 = p.DataFrame()
>>> data_struct1['date'] = p.date_range('18/07/2019', periods = 5, freq ='2H')
>>> data_struct1= data_struct1.set_index(data_struct1['date'])
>>> print(data_struct1.head(5))
date
date
2019-07-18 00:00:00 2019-07-18 00:00:00
2019-07-18 02:00:00 2019-07-18 02:00:00
2019-07-18 04:00:00 2019-07-18 04:00:00
2019-07-18 06:00:00 2019-07-18 06:00:00
2019-07-18 08:00:00 2019-07-18 08:00:00如果我們只想從資料庫中顯示特定的資料集,那麼我們可以實現如下所述的命令 -
>>> data_struct2 = p.DataFrame()
>>> data_struct2['date'] = p.date_range('17/07/2019', periods =3, freq ='4H')
>>> print(data_struct2.head(5))
date
0 2019-07-17 00:00:00
1 2019-07-17 04:00:00
2 2019-07-17 08:00:00
>>> inp = data_struct2[(data_struct2['date'] > '2019-07-17 04:00:00')]
>>> print(inp)
date
2 2019-07-17 08:00:00結論
在本文中,我們學習瞭如何以多種方式打包和解包元組。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP