zoukankan      html  css  js  c++  java
  • Pandas plot出图

    1、创建一个Series

    这是一个线性的数据,我们随机生成1000个数据,Series 默认的 index 就是从0开始的整数,但是这里我显式赋值以便让大家看的更清楚

    >>> import pandas as pd
    >>> import numpy as np
    >>> import matplotlib.pyplot as plt
    >>> data = pd.Series(np.random.randn(1000),index=np.arange(1000))
    >>> data.cumsum()
    >>> data.plot()
    <matplotlib.axes._subplots.AxesSubplot object at 0x000001886855E7F0>
    >>> plt.show()

    就这么简单,熟悉 matplotlib 的朋友知道如果需要plot一个数据,我们可以使用 plt.plot(x=, y=),把x,y的数据作为参数存进去,但是data本来就是一个数据,所以我们可以直接plot。 生成的结果就是下图:

    2、Dataframe可视化

    我们生成一个1000*4 的DataFrame,并对他们累加

    data = pd.DataFrame(
        np.random.randn(1000,4),
        index=np.arange(1000),
        columns=list("ABCD")
        )
    data.cumsum()
    data.plot()
    plt.show()

    这个就是我们刚刚生成的4个column的数据,因为有4组数据,所以4组数据会分别plot出来。

    除了plot,我经常会用到还有scatter,这个会显示散点图,首先给大家说一下在 pandas 中有多少种方法

    • bar
    • hist
    • box
    • kde
    • area
    • scatter
    • hexbin

    但是我们今天不会一一介绍,主要说一下 plot 和 scatter. 因为scatter只有xy两个属性,我们我们就可以分别给xy指定数据

    ax = data.plot.scatter(x='A',y='B',color='DarkBlue',label='Class1')

    然后我们在可以再画一个在同一个ax上面,选择不一样的数据列,不同的 color 和 label

    # 将之下这个 data 画在上一个 ax 上面
    >>>data.plot.scatter(x='A',y='C',color='LightGreen',label='Class2',ax=ax)
    <matplotlib.axes._subplots.AxesSubplot object at 0x000001E99493F630>
    >>> plt.show()

  • 相关阅读:
    Codeforces 653C Bear and Up-Down【暴力】
    Codeforces 653B Bear and Compressing【DFS】
    Codeforces 653B Bear and Compressing【DFS】
    Codeforces 653A Bear and Three Balls【水题】
    Codeforces 645D Robot Rapping Results Report【拓扑排序+二分】
    Codeforces 645C Enduring Exodus【二分】
    软件工程作业01
    《构建之法》阅读笔记5
    登录界面代码
    《构建之法》读书笔记4
  • 原文地址:https://www.cnblogs.com/anhoo/p/9384005.html
Copyright © 2011-2022 走看看