精华内容
下载资源
问答
  • 文章目录0 引言1 Series调用 .plot 绘图2 DataFrame表格调用 .plot 绘图...调用 .cumsum .plot函数实现绘图 import pandas as pd import numpy as np import matplotlib.pyplot as plt data = pd.Series(np.random.r

    0 引言

    Pandas表格的数据也可以调用 .plot 进行绘图,并通过matplotlib可视化显示。

    1 Series调用 .plot 绘图

    调用 .cumsum和 .plot函数实现绘图

    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 = data.cumsum()
    data.plot()
    plt.show()
    

    2 DataFrame表格调用 .plot 绘图

    调用 .cumsum和 .plot函数实现绘图

    data = pd.DataFrame(np.random.randn(1000,4),index=np.arange(1000),columns=['A','B','C','D'])
    data = data.cumsum()
    print(data.head())# 打印前5行的值
    
              A         B         C         D
    0  1.068548  0.194577  0.455137  1.156400
    1  2.104011  1.405648 -1.215945  1.280576
    2  3.341197  3.088136 -1.132670  1.494968
    3  3.199450  3.101110 -1.091742  0.701054
    4  2.206640  4.070196 -0.924099  2.130221
    
    data.plot()
    plt.show()
    

    3 绘制散点图

    调用 .plot.scatter 函数绘制散点图

    ax = data.plot.scatter(x='A',y='B',color='Blue',label='class 1')
    data.plot.scatter(x='A',y='C',color='Green',label='class 2',ax=ax)
    plt.show()
    
    展开全文
  • Pandas——⑧绘图plot

    2021-01-31 15:16:56
    Pandas——绘图plot python入门常用操作:https://blog.csdn.net/qq_33302004/article/details/112859327 目录 一、绘制线性数据 二、绘制矩阵数据 三、绘制散点图 一、绘制线性数据 import pandas as pd ...

    Pandas——绘图plot

    python入门常用操作:https://blog.csdn.net/qq_33302004/article/details/112859327

     

    目录

    一、绘制线性数据

    二、绘制矩阵数据

    三、绘制散点图


    一、绘制线性数据

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 1.线性数据:Series 
    # 使用np.random.randn(1000),生成1000个随机数
    data = pd.Series(np.random.randn(1000), index=np.arange(1000))
    # 对数据进行累加,这样画图效果更好看
    data = data.cumsum()
    data.plot()
    plt.show()
    

    效果:

    二、绘制矩阵数据

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 2.矩阵数据:DataFrame
    # 使用np.random.randn(1000,4)随机生成1000行4列的矩阵
    data = pd.DataFrame(np.random.randn(1000,4),
                        index = np.arange(1000),
                        columns=['A', 'B', 'C', 'D'])
    # 使用cumsum对每一列的数据各自进行累加
    data = data.cumsum()
    # 输出前五行的数据
    print(data.head(5))
    # 有几列就会自动绘制出几条曲线
    data.plot()
    plt.show()

    效果:

     

    三、绘制散点图

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 3.plot的方法:
    # 'bar':条形图、'scatter':散点图、'hist'、'box'、'kde'、'area'、'pie'、...
    data = pd.DataFrame(np.random.randn(1000,4),
                        index = np.arange(1000),
                        columns=['A', 'B', 'C', 'D'])
    data = data.cumsum()
    axby = data.plot.scatter(x='A', y='B', color='DarkBlue', label='Class 1')
    # ax=axby 是将两幅散点图绘制在同一幅图上
    # 关于plt的更多内容可以看plt相关的博客
    axcy = data.plot.scatter(x='A', y='C', color='DarkGreen', label='Class 2', ax=axby)
    plt.show()

    效果:

    展开全文
  • 除了plot,经常会用到还有scatter,这个会显示散点图,首先给大家说一下在 pandas 中有多少种方法 bar hist box kde area scatter hexbinIn [1]:import pandas as pdimport numpy as npimport matplotlib.pyplot as ...

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

    In [1]:

    import pandas as pdimport numpy as npimport matplotlib.pyplot as plt

    In [2]:

    # 随机生成1000个数据df = pd.Series(np.random.randn(1000),index=np.arange(1000),name='d')df.plot()

    Out[2]:

    ca4b37f59be6b6543d5a55b92b109ef4.png

    In [3]:

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

    In [4]:

    ax = df.plot.scatter(x='A',y='B',color='DarkBlue',label='Class1')df.plot.scatter(x='A',y='C',color='LightGreen',label='Class2',ax= ax)

    Out[4]:

    92f3b641fab6c575d66b48bac8bb4504.png

    In [5]:

    df = pd.DataFrame(np.random.randn(50,4), index=np.arange(50), columns=list("ABCD"))df.plot.bar(y='B',color='DarkBlue',label='Class1')

    Out[5]:

    6d57b14a5f4ecdd76996bbc81c8187e6.png

    In [6]:

    df['A'].plot.hist()

    Out[6]:

    5116cb480b37cc78003ba76a0eef003c.png

    In [7]:

    df['A'].plot.box()

    Out[7]:

    b43105d5727d7c7a1cdeed65aae9800f.png

    In [8]:

    df['A'].plot.kde()

    Out[8]:

    5b581f6ea95d5559c08798cd4f0b076e.png

    In [9]:

    df.plot.area(stacked=False)

    Out[9]:

    8d96fed39d39e0d402ccae23fd4c39d1.png

    In [10]:

    ax = df.plot.area(y='B',stacked=False)
    d8aca004de9308dccaee64d2171bb15b.png

    In [11]:

    ax = df.plot.hexbin(x='A', y='B', gridsize=20)
    13ca8cb10766b490bf3cb83be567ce07.png
    展开全文
  • #diff函数返回一个由相邻数组元素的差值构成的数组 dropna() dropna()函数返回一个包含非空数据索引值的Series crosstab() ix() random.rand(num):生成的随机数是0-1中的 3 pandas绘制图形,填充数据,matplotlib...

    1 numpy.cumsum()

    numpy.cumsum(a, axis=None, dtype=None, out=None)
    

    axis=0,按照行累加。
    axis=1,按照列累加。
    axis不给定具体值,就把numpy数组当成一个一维数组。

    现在看一看例子

    a = np.arange(6).reshape((2, 3))
    a = [[0, 1, 2],
         [3, 4, 5]]
    

    要是直接

    numpy.cumsum(a)
    

    得到 [ 0 1 3 6 10 15] -----------------这是一个一维数组,不断累加

    numpy.cumsum(a, axis=0)
    

    得到
    [[0 1 2]
    [3 5 7]]
    这是以[0 1 2]这个为基准,累加。output的形状和a的相同

    numpy.cumsum(a, axis=1)
    

    得到
    [[ 0 1 3]
    [ 3 7 12]]
    这是以[0 3]这个为基准,累加。output的形状同样与a的相同

    因为a是二维数组,所以axis只有0,1
    当a是更高维度的时候,axis会更加多

    原文链接:https://blog.csdn.net/Hsu8506/article/details/83715291

    cumsum() 累加值,新生成的数+上一个生成的数
    
    cumsum(0) 看几行几列式,按行叠加,行内的叠加值相同
    
    cumsum(1) 按行叠加,新生成的数+上一个生成的数
    

    2 知识点

    散布图  是观察两个一维数据序列之间关系的有效手段
    log() 对数
    diff() 沿着指定轴计算第N维的离散差值   #diff函数返回一个由相邻数组元素的差值构成的数组
    dropna()  dropna()函数返回一个包含非空数据和索引值的Series
    
    crosstab()
    ix()
    
    random.rand(num):生成的随机数是0-1中的
    

    3 pandas绘制图形,填充数据,matplotlib展示数据

    #pandas绘制图形,填充数据(创建figure,填充数据),matplotlib展示数据
    s=pd.Series(np.random.randn(10).cumsum(),index=np.arange(0,100,10))
    s.plot()
    plt.show()
    

    在这里插入图片描述

    df=pd.DataFrame(np.random.randn(10,4).cumsum(0),columns=['A','B','C','D'],index=np.arange(0,100,10))
     
    print(df)
    df.plot()
    plt.show()
    

    在这里插入图片描述

    4 柱状图

    '''
    柱状图
    random.rand(num):生成的随机数是0-1中的
    '''
    fig,axes=plt.subplots(2,1)
    data=pd.Series(np.random.rand(16),index=list('qwertyuiopasdfgh'))
    #竖向展示
    data.plot(kind='bar',ax=axes[0],color='k',alpha=0.7)
     
    #横向展示  stacked=True叠加值
    data.plot(kind='barh',ax=axes[1],stacked=True,color='k',alpha=0.7)
     
     
    plt.show()'''
    柱状图
    random.rand(num):生成的随机数是0-1中的
    '''
    fig,axes=plt.subplots(2,1)
    data=pd.Series(np.random.rand(16),index=list('qwertyuiopasdfgh'))
    #竖向展示
    data.plot(kind='bar',ax=axes[0],color='k',alpha=0.7)
     
    #横向展示  stacked=True叠加值
    data.plot(kind='barh',ax=axes[1],stacked=True,color='k',alpha=0.7)
     
     
    plt.show()
    

    在这里插入图片描述

    5 堆积柱状图

    '''
    有关小费的数据集
    crosstab()
    ix()
    '''
    tips=pd.read_csv('C:\\tools\\pydata-book-master\\ch08\\tips.csv')
    print(tips)
    #下面是一个例子:做一张堆积柱状图来显示每天各种聚会规模的数据点百分比
    party_counts = pd.crosstab(tips.day,tips['size'])
    print (party_counts)
    # size  1   2   3   4  5  6
    # day
    # Fri   1  16   1   1  0  0
    # Sat   2  53  18  13  1  0
    # Sun   0  39  15  18  3  1
    # Thur  1  48   4   5  1  3
     
     
    #ix的下标从0开始bug
    party_counts = party_counts.ix[0:,2:5]
    print (party_counts)
    # size   2   3   4  5
    # day
    # Fri   16   1   1  0
    # Sat   53  18  13  1
    # Sun   39  15  18  3
    # Thur  48   4   5  1
    #然后进行归一化是各行和为1
    party_pcts = party_counts.div(party_counts.sum(1).astype(float),axis = 0)
    print (party_pcts)
    party_pcts.plot(kind = 'bar',stacked = True)
    plt.show()#证明周末的聚会规模大
    

    在这里插入图片描述

    6 直方图

    '''
    每天各种聚会的比例的直方图
    '''
    tips['pct']=tips['tip']/tips['total_bill']
    tips['pct'].hist(bins=50)
    plt.show()
     
    #与此相关的是密度图:他是通过计算“可能会产生观测数据的连续概率分布的估计”
    #而产生的。一般的过程将该分布金思维一组核(诸如正态之类的较为简单的分布)。
    #此时的密度图称为KDE图。kind = ‘kde’即可。
    #消费百分比密度图
    tips['pct'].plot(kind = 'kde')
    plt.show()
    

    在这里插入图片描述

    7 双峰分布

    #两个不同的正态分布组成的双峰分布
    comp1 = np.random.normal(0,1,size = 200)
    comp2 = np.random.normal(10,2,size = 200)
    values = pd.Series(np.concatenate([comp1,comp2]))
    print (values)
    values.hist(bins = 100,alpha = 0.3,color = 'k',normed = True)
    values.plot(kind = 'kde',style = 'k--')
    plt.show()
    

    在这里插入图片描述

    8 百分比密度图

    #消费百分比密度图
    tips['pct'].plot(kind = 'kde')
    plt.show()
    

    在这里插入图片描述
    在这里插入图片描述

    9 散布图

    '''
    散布图  是观察两个一维数据序列之间关系的有效手段
    log() 对数
    diff() 沿着指定轴计算第N维的离散差值   #diff函数返回一个由相邻数组元素的差值构成的数组
    dropna()  dropna()函数返回一个包含非空数据和索引值的Series
    '''
    data=pd.read_csv('C:\\tools\\pydata-book-master\\ch08\\macrodata.csv')
    print(data)
    data=data[['cpi','m1','tbilrate','unemp']]
    #计算对数差
    trans_data=np.log(data).diff().dropna()
    print(trans_data)
     
     
    #利用对数差绘制两列之间的散布图
    plt.scatter(trans_data['m1'],trans_data['unemp'])
    plt.title('%s vs %s'%('m1','unemp'))
    plt.show()
    

    在这里插入图片描述

    #散布图矩阵 观察不同列之间的散布图;
    # 对角线放置各变量的直方图和密度图
    pd.scatter_matrix(trans_data,diagonal='kde',color='k',alpha=0.3)
    

    在这里插入图片描述

    原文链接:https://blog.csdn.net/qq_38788128/article/details/80813968

    展开全文
  • Pandas绘图df.plot(kind=‘...‘)

    千次阅读 2021-03-01 14:09:13
    line’ : line plot (default)#折线图 ‘bar’ : vertical bar plot#条形图。stacked为True时为堆叠的柱状图 ‘barh’ : horizontal bar plot#横向条形图 ‘hist’ : histogram#直方图(数值频率分布) ‘box’ ...
  • pandas绘图

    2019-08-15 18:03:53
    pandas绘图 1 pandas.DataFrame.plot DataFrame.plot(kind=‘line’) kind : str,需要绘制图形的种类 ‘line’ : line plot (default) ‘bar’ : vertical bar plot ‘barh’ : horizontal bar plot 关于“barh”...
  • pandas pandas绘图

    2021-09-03 20:43:03
    Pandas绘图 学习目标 熟练掌握Pandas数据可视化常用功能 1 Pandas数据可视化简介 pandas库是Python数据分析的核心库 它不仅可以加载转换数据,还可以做更多的事情:它还可以可视化 pandas绘图API简单易用,是...
  • pandas绘图指南

    2020-03-12 21:18:47
    文章目录pandas绘图基本绘图方法plot其他绘图条形图直方图箱型图面积图散点图六边形图饼图绘制缺失数据几个特殊的绘图函数散点图矩阵密度图安德鲁斯曲线平行坐标滞后图自相关图自举图RadViz绘图格式 import pandas ...
  • Pandas绘图

    千次阅读 2017-10-09 00:16:20
    Pandas绘图Pandas的绘图方法封装了Matplotlib的pyplot方法,可以提供简单的绘图功能,对于DataFrame来说,.plot是一种将所有列及其标签进行绘制的简便方法不常用,实际应用中,一般仍使用Matplotlib绘图Jupyter ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,069
精华内容 4,427
关键字:

pandas绘图和plot绘图