W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
如果必須使用時間序列數(shù)據(jù),Pandas 是一個非常有用的工具。 在 Pandas 的幫助下,可以執(zhí)行以下操作 -
pd.date_range
包創(chuàng)建一系列日期pd.Series
包對帶有日期數(shù)據(jù)進行索引ts.resample
包執(zhí)行重新采樣示例
以下示例顯示使用Pandas處理和分割時間序列數(shù)據(jù)。 請注意,這里使用月度北極濤動數(shù)據(jù),可以從 monthly.ao.index.b50.current.ascii
下載并可以轉(zhuǎn)換為文本格式。
處理時間序列數(shù)據(jù)
要處理時間序列數(shù)據(jù),您必須執(zhí)行以下步驟 -
第1步 ,導(dǎo)入以下軟件包 -
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
接下來,定義一個函數(shù),它將從輸入文件中讀取數(shù)據(jù),如以下代碼所示 -
def read_data(input_file):
input_data = np.loadtxt(input_file, delimiter = None)
現(xiàn)在,將這些數(shù)據(jù)轉(zhuǎn)換為時間序列。 為此,請創(chuàng)建時間序列的日期范圍。 在這個例子中,我們保留一個月的數(shù)據(jù)頻率。 文件中是存儲從 1950年1月開始的數(shù)據(jù)。
dates = pd.date_range('1950-01', periods = input_data.shape[0], freq = 'M')
在這一步中,在 Pandas Series
的幫助下創(chuàng)建時間序列數(shù)據(jù),如下所示 -
output = pd.Series(input_data[:, index], index = dates)
return output
if __name__=='__main__':
如下所示,指定輸入文件的路徑 -
input_file = "/Users/admin/AO.txt"
現(xiàn)在,將列轉(zhuǎn)換為時間序列格式,如下所示 -
timeseries = read_data(input_file)
最后,使用顯示的命令繪制并可視化數(shù)據(jù) -
plt.figure()
timeseries.plot()
plt.show()
觀察如下圖所示 -
切片時間序列數(shù)據(jù) 切片涉及僅檢索時間序列數(shù)據(jù)的一部分。 作為示例的一部分,我們僅在1980年到1990年間對數(shù)據(jù)進行分割。請注意以下執(zhí)行此任務(wù)的代碼 -
timeseries['1980':'1990'].plot()
<matplotlib.axes._subplots.AxesSubplot at 0xa0e4b00>
plt.show()
當您運行切片時間序列數(shù)據(jù)的代碼時,可以觀察下圖所示的圖形 -
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: