当DataFrame需要可视化时,如何可视化库确实是一个头疼的事情。今天我们来学习一下pandas_alive,可实现DataFrame可视化转为gif文件。如果转化为视频文件的话,也可以借助moviepy 视频处理模块,把GIF图片转换为mp4文件。
pandas_alive
pandas_alive是一个用于创建动画图形的Python库,它基于matplotlib绘图库。该库主要用于方便快速进行动画可视化制作,尤其适用于处理时间序列数据。 在使用pandas_alive进行动画可视化时,需要满足一定的数据格式要求:每行表示单个时间段,每列包含特定类别的值,索引包含时间组件(可选)。 支持水平条形图、垂直条形图、比赛、条形图与时间与x轴一起显示的折线图以及饼图等。此外,它还支持单个可视化中的多个动画图表。 使用文档:https://jackmckew.github.io/pandas_alive/
按照模块:
pip install pandas_alive
导入数据分析常用的包
import pandas as pd
import matplotlib.pyplot as plt
import pandas_alive
plt.rcParams ['font.sans-serif'] ='SimHei' #显示中文
plt.rcParams ['axes.unicode_minus']=False #显示负号
读取数据集转化为pandas数据框对象
mydata = pd.read_excel('data_source.xlsx')
生成动态条形图
pivot()函数,通过给定的索引(index)和列(column)的值重新生一个DataFrame对象。根据列值对数据进行整形(生成一个透视表)。
生成动态柱形图
增加参数 orientation=‘v’,生成动态柱形图。
mydataa=pd.pivot_table(mydata, index="year")
mydataa.plot_animated("bar1.gif", period_fmt="%Y", title="Data",n_visible=10, orientation='v')
生成动态折线图
mydataa.plot_animated("bar2.gif", period_fmt="%Y", title="Data", kind='line', period_label={'x':0.25, 'y':0.9})
动态累积bar
mydataa.plot_animated(filename='example-pie-chart.gif', kind="pie",
rotatelabels=True, period_label={'x': 0, 'y': 0})
动态气泡图、动态面积图、动态散点图、动态累积bar需要获取对应的参数进行修改