14_如何生成时间序列

在这里插入图片描述

文章目录

  • 如何通过日期获取数据
  • data_range生成时间序列


博文配套视频课程:24小时实现从零到AI人工智能


如何通过日期获取数据

时间序列(或称动态数列)是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。时间序列分析的主要目的是根据已有的历史数据对未来进行预测

# 时间序列简单来说:就是采用时间作为索引来进行相关的操作
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
from datetime import datetime

# 创建构造函数构造日期
date_list = [
    datetime(2016, 9, 1),
    datetime(2016, 9, 10),
    datetime(2017, 9, 1),
    datetime(2016, 9, 20),
    datetime(2017, 10, 1),
]
print('-' * 20, '如何通过日期获取数据', '-' * 20)
# Series索引就是时间序列
s1 = Series(np.random.rand(5), index=date_list)
print(s1.values, s1.index)
print(s1[0])
# 通过日期获取数据
print(s1[datetime(2016, 9, 10)])
# 通过字符串方式获取批量数据
print(s1['2016-09'])

data_range生成时间序列

print('-' * 20, '通过data_range生成时间序列', '-' * 20)
date_list = pd.date_range('2016-01-01', periods=30, freq='5h')
s2 = Series(np.random.rand(len(date_list)), index=date_list)
print(s2)

print('-' * 20, '时间序列的采样', '-' * 20)
date_list = pd.date_range(start='2016-01-01',end='2016-12-31')
ss = Series(data=np.random.rand(len(date_list)),index=date_list)
# 采样的前提是index必须为时间序列
print(ss.resample('M').sum()/ss.resample('M').count())
print('-'*100)
print(ss.resample('M').mean())

在这里插入图片描述

你可能感兴趣的:(Python,数据分析与可视化)