首页
学习
活动
专区
圈层
工具
发布

用python做时间序列预测二:时间序列的一般数据格式和可视化

本文将介绍如何通过python来读取、展现时间序列数据。

读取

时间序列数据一般用cvs等电子表格的形式存储,这里以cvs为例:

代码语言:javascript
复制
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()

可视化

代码语言:javascript
复制
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的可视化方法,下一篇将介绍时间序列的分解方法,目的是通过分解出的时间序列的各个成分来进一步的了解时间序列。

下一篇
举报
领券