时间序列数据的python处理--可视化、数据分析、聚类分析

数据
使用数据集courses.txt

读取数据

import pandas as pd
# 导入文本文件,原数据集是使用逗号分割的,第一行为列名
courses_ori = pd.read_csv('courses.txt', sep=',', header=0)
# 预览 DataFrame 前 5 行
courses_ori.head()

数据中有时间列,做时间序列分析。将时间列变为索引列

#时间数据变为 DatetimeIndex 格式,这样时间列就可以作为索引
i = pd.to_datetime(courses_ori['创建时间'])
i.head()

#给原始数据 courses_ori 加上时间戳索引
courses_ts = pd.DataFrame(data=courses_ori.values,
                          columns=courses_ori.columns, index=i)
courses_ts.head()

#去除原来的时间列
courses_ts = courses_ts.drop("创建时间", axis=1)
courses_ts.head()

可视化

查看学习人数和学习时间随着时间变化的趋势,进行绘图,时间太多,对时间序列降采样

# 按照周次频率进行降采样
courses_ts_W = courses_ts.resample('W').sum()
courses_ts_W.head()

#再使用 Matplotlib 对学习时间随着时间变化的趋势进行绘折线图
import matplotlib.pyplot as plt
%matplotlib inline

plt.figure(figsize=(10, 3))
plt.plot(courses_ts_W.index, courses_ts_W['学习时间'], '-'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值