用python做時間序列預測二:時間序列的一般數據格式和可視化


本文將介紹如何通過python來讀取、展現時間序列數據。

讀取

時間序列數據一般用cvs等電子表格的形式存儲,這里以cvs為例:

from dateutil.parser import parse 
from datetime import datetime
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
params = {
    'font.family': 'serif',         
    'font.serif': 'FangSong',         
    'font.style': 'italic',          
    'font.weight': 'normal',  # or 'blod'         
    'font.size': 12,  # 此處貌似不能用類似large、small、medium字符串          
    'axes.unicode_minus': False         
    }
rcParams.update(params)
import matplotlib.pyplot as plt
import pandas as pd
# 未來pandas版本會要求顯式注冊matplotlib的轉換器,所以添加了下面兩行代碼,否則會報警告
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()

# Import as Dataframe
date_parse = lambda x: datetime.strptime(x, '%Y-%m-%d')
ser  = pd.read_csv(
'https://raw.githubusercontent.com/selva86/datasets/master/a10.csv',
                        index_col='Month', # 指定索引列                   
                        parse_dates=['Month'], # 將指定列按照日期格式來解析                   
                        date_parser=date_parse) # 日期格式解析器
ser .head()

可視化

import matplotlib.pyplot as plt
df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/a10.csv', parse_dates=['date'], index_col='date')

# Draw Plotdef plot_df(df, x, y, title="", xlabel='Date', ylabel='Value', dpi=100):
    plt.figure(figsize=(16,5), dpi=dpi)
    plt.plot(x, y, color='tab:red')
    plt.gca().set(title=title, xlabel=xlabel, ylabel=ylabel)
    plt.show()

plot_df(df, x=df.index, y=df.value, title='Monthly anti-diabetic drug sales in Australia from 1992 to 2008.')    

本篇介紹了時間序列的一般數據格式和基於python的可視化方法,下一篇將介紹時間序列的分解方法,目的是通過分解出的時間序列的各個成分來進一步的了解時間序列。

ok,本篇就這么多內容啦~,感謝閱讀O(∩_∩)O。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM