8.DataFrame时间序列处理与可视化
8.1 时间序列处理
8.1.1 dt 函数
dt.date可以生成短日期形式数据- 两个 datetime 类型数据相减,可以利用
dt.days计算日期差

8.1.2 日期转年月周
- 参考下方示例和代码判断函数作用
- 日期可以计算年/月/周序号/每周的日序号等
- 一般在数据分析中很常见把日期转化成周/月/序号来聚合分析

8.1.3 小例子
- 某个网站某分类每周 7 天的汇总回答人数
- 可以看到周五是低点,周日,周一是高点,比如举办一些运营活动,不建议在周五举办,用户活跃较差,效果会打折扣

8.1.4 pd.to_datetime()
- 某个网站某分类每周 7 天的平均回答人数
- 可以看到周五是低点,周日,周一是高点,比如举办一些运营活动,不建议在周五举办,用户活跃较差,效果会打折扣

8.1.5 df.resample()
- 关键参数
rule,按照数字 + 单位的规则 - 必须具有
datetime类似的索引


8.2 画图
8.2.1 条线图
- 参数与
Series.plot比较接近,基本上在Series中的参数df.plot都有 - 指定
y =,是传递要绘制二维图像的纵列 kind = line是默认值,也可以不写

8.2.2 直方图
df.plot参数中,需要指定要绘制的系列,例如y=- 需要指定
kind参数 - 其余参数例如调节图像大小等与
Series.plot相似度比较高,可以参考Series.plot

8.2.3 饼图
- 饼图适用于对比某个特征下不同枚举值对应的次数分布,一般是聚合后的数据
- 例如
df_plot中三个index分别对应统计后的数值 - 饼图会画出占比的大概情况
plot.pie和plot可以实现相同的效果,pandas 画图的函数并非一一对应,还是比较灵活的


8.2.4 箱线图
df.boxplot可以画箱线图- 需要指定横轴,通过参数
by,这个列的含义是观察 y 的其中一个视角 - 指定纵轴,通过参数
column - 对比不同 x 的枚举值下 y 的分布情况,往往会得出结论

8.3 剪切板复制数据
python
pd.read_clipboard(
sep=' ' # 分隔符 默认是空格 读取最近复制的内容 解析成 DataFrame
)

8.4 画图
8.4.1 时间序列图
- 与折线图接近
- 区别在于横轴特定为日期
- 日期可以解析为周,月,年等信息,又可以看出新的解读
- 指标排查的分析中常用的就是时间序列图

8.4.2 可视化包学习建议
- 必须掌握的是 Matplotlib 和 Seaborn 常见图形的画法
- Pyecharts / Bokeh / Plotly / Altair 是不错的补充,尤其适合 动态图 场景
- 低频工具包,在遇到特定的可视化问题时可参考使用
⭐ 常用工具包:
- Matplotlib
- Seaborn
- Pyecharts
- Bokeh
- Plotly
- Altair
📉 低频使用工具包:
- ggplot
- Pygal
- VisPy
- NetworkX
- HoloViews
- GeoPlotLib
- Folium
- Gleam
- Vincent
- mpld3
- python-igraph
- missingno
- Mayavi2
- Leather