Advertisement

c++可视化_pandas数据可视化原来也这么厉害

阅读量:
9a69947397f4afb3125d7bef53aa88e1.png

作者:小伍哥

来源:AI入门学习(公众号)

在python中,常见的数据可视化库有3个:

matplotlib也被广泛认为是数据可视化领域的核心工具包,
也可被视为掌握数据可视化的重要基础,
层次较深,
拥有大量接口(API)的学习难度较大。

Seaborn是一个基于Matplotlib构建的工具包,能够适应大部分的可视化需求。对于特殊的可视化需求,则仍需掌握Matplotlib的基础知识。

PyECharts是一款强大的可视化工具。它具备良好的网页兼容性能力,并且能够实现动态展示效果。其功能分类较为全面,并非仅仅局限于静态的数据展示。例如这个图表展示了数据的趋势分析功能,并非仅仅是一个简单的图形呈现工具。

今天将探讨Pandas的数据可视化功能。作为一个功能强大的数据分析库,在数据处理过程中仅需一行代码即可完成其基本分析任务,并且其生成的图表同样美观且富有信息量。然而与前述几个主流的数据分析工具相比虽然并不如它们那样强大但在某些特定场景下却更具便捷性与实用性

看案例

在pandas中包含11个较为基础的图形可视化方法,还有一些较为复杂的高级可视化技术。我们逐一对其进行研究和实践。

复制代码
    df.plot.bar()

01、柱状图-纵向

复制代码
    df.plot.bar(stacked=True)
05459ef563b3da150b874d31548196cc.png

stacked=True,画堆叠柱状图

复制代码
    df.plot.barh()
202cb13d181f5553efe4db444c14b727.png

02、柱状图-横向

复制代码
    df.plot.barh(stacked=True)
bdc4cd3a663e2170a2c3d928aaa3881d.png

同样,stacked=True,画堆叠柱状图

复制代码
    df.plot.area(alpha = 0.9)
fa395e21e489ae12dc29205ec8559b51.png

03、面积图

复制代码
    df.plot.area(stacked=True,alpha = 0.9)
bfac25e5f9aeec622a71ae688e5f3e0e.png
复制代码
    df.plot.area(stacked=True,alpha = 0.9)
cc0acd8facb491464c08fccc3b6d0b02.png

04、密度图-kde

复制代码
    df.plot.density()
c8cb62840df507afc1a9c10e9efb4dc3.png

05、密度图-density

复制代码
    df.plot.density()
cb82b405eeeaab7915a1f3d845ca325d.png

06、直方图

换个数据集

复制代码
    df = pd.DataFrame({'A': np.random.randn(1000) + 1,                    'B': np.random.randn(1000),                     'C': np.random.randn(1000) - 1},                    columns=['A', 'B', 'C']) df.plot.hist(bins=200)
747a63d029b78eeadceeaa4c07b1a3c7.png
复制代码
    df.plot.hist(stacked=True, bins=20)
0421fce436740adffbab1bc5a6b168d9.png
复制代码
    df= pd.DataFrame(np.random.rand(100, 4), columns=['A','B','C','D'])df.plot.box()
ef6309a721b0a3f26dfa7120ebd132a4.png

07、箱盒图

复制代码
    df.plot.box(vert=False)
9a928afb7e4c1e6d03d79b3fa32a7be9.png

vert=False也可以换成横向

复制代码
    df.plot.scatter(x='A',y='B')
953028dd412824c4574e7cde0bb161c4.png

08、散点图

复制代码
    df = pd.DataFrame(np.random.randn(1000, 2), columns=['a', 'b'])df['b'] = df['b'] + np.arange(1000)df.plot.hexbin(x='a', y='b', gridsize=25)
1ed5c171d7e9b41b40144596c47c2ddb.png

09、蜂巢图

复制代码
    series = pd.Series(3 * np.random.rand(4), index=['a', 'b', 'c', 'd'], name='series')series.plot.pie(figsize=(6, 6))
5600187aaff145d7b17aa93bdb002dd1.png

07、饼图

复制代码
    series = pd.Series(3 * np.random.rand(4), index=['a', 'b', 'c', 'd'],                    name='series')series.plot.pie(figsize=(6, 6))
a1cb58eacc9e8ab56b5ed026dbaa52af.png
复制代码
    series.plot.pie(labels=['AA', 'BB', 'CC', 'DD'], colors=['r', 'g', 'b', 'c'],                autopct='%.2f', fontsize=20, figsize=(6, 6))
675e2218cb58b75294187098bd4babb0.png

08、矩阵散点图

复制代码
    from pandas.plotting import scatter_matrixdf = pd.DataFrame(np.random.randn(1000, 4), columns=['a', 'b', 'c', 'd'])scatter_matrix(df, alpha=0.2, figsize=(6, 6), diagonal='kde')
5163ec987f4d152a3c0ab325e0915598.png

全部评论 (0)

还没有任何评论哟~