• 【数据可视化】第四章—— 基于pandas的数据可视化(pandas基本操作)


    图形绘制的代码:链接:https://pan.baidu.com/s/1pgS60sry6XDILIhth8bAvA?pwd=abcd
    提取码:abcd


    1. Pandas库的数据运算

    • 算数运算根据行列索引,补齐后运算,运算默认产生浮点数
    • 补齐时缺项填充NaN(空值)
    • 二维和一维、一维和零维间为广播运算
    • 采用+_*/符号 进行的二元运算产生新的对象

    在这里插入图片描述

    1.1 方法形式的运算

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

    1.2 比较运算法则

    • 比较运算只能比较相同索引的元素,不进行补齐
    • 二维和一维、一维和零维间为广播运算
    • 采用> < >= <= == !=等符号进行的二元运算产生新布尔对象

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

    1.3 排序

    sort_index()方法在指定轴上根据索引进行排序,默认升序
    在这里插入图片描述
    在这里插入图片描述

    sort_values()方法在指定轴上根据数值进行排序,默认升序

    • Series.sort_values(axis = 0, ascending = True)

    • DataFrame.sort_values(by, axis = 0, ascending = True)
      by: axis轴上的某个索引或索引列表
      在这里插入图片描述

    NaN统一放到排序末尾
    在这里插入图片描述

    2. 基本统计分析函数

    2.1 基本统计分析函数

    适用于Series和DataFrame类型
    在这里插入图片描述
    在这里插入图片描述

    适用于Series类型
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    2.2 累计统计分析函数

    适用于Series和DataFrame类型
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    适用于Series和DataFrame类型,滚动计算(窗口计算)
    在这里插入图片描述
    在这里插入图片描述

    2.3 相关分析函数

    两个事物,表示为X和Y,如何判断它们之间的存在相关性?

    X增大,Y增大,两个变量正相关
    X增大,Y减小,两个变量负相关
    X增大,Y不变,两个变量不相关

    在这里插入图片描述
    协方差>0,X和Y正相关
    协方差<0,X和Y负相关
    协方差=0,X和Y独立无关

    Pearson相关系数
    在这里插入图片描述
    r的取值范围 [-1,1]

    0.8-1.0极强相关
    0.6-0.8强相关
    0.4-0.6中等强度相关
    0.2-0.4弱相关
    0.0-0.2极弱相关或不相关

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

    3. Pandas可视化

    常见的图表类型
    在这里插入图片描述
    Series的plot方法参数
    在这里插入图片描述
    DataFrame的plot方法参数
    在这里插入图片描述

    3.1 绘制折线图

    【例】在pandas中使用Series绘制线性图,代码如下。

    from pandas import DataFrame,Series
    import pandas as pd 
    import numpy as np
    import matplotlib.pyplot as plt
    s = pd.Series(np.random.randn(10).cumsum(), index=np.arange(0, 100, 10))
    s.plot()
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    【例】在pandas中使用DataFrame绘制线性图,代码如下。

    from pandas import DataFrame,Series
    import pandas as pd 
    import numpy as np
    import matplotlib.pyplot as plt
    df = pd.DataFrame(np.random.randn(10, 4).cumsum(0),
                      columns=['A', 'B', 'C', 'D'],
                      index=np.arange(0, 100, 10))
    df.plot()
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

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

    3.2 绘制柱状图

    plot.bar()

    【例】在pandas中使用Series绘制柱状图,代码如下。

    from pandas import DataFrame,Series
    import pandas as pd 
    import numpy as np
    import matplotlib.pyplot as plt
    fig, axes = plt.subplots(2, 1)
    data = pd.Series(np.random.rand(16), index=list('abcdefghijklmnop'))
    data.plot.bar(color='r', alpha=0.7) # 垂直柱状图
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    【例】在pandas中使用Series中绘制条形图,代码如下。

    from pandas import DataFrame,Series
    import pandas as pd 
    import numpy as np
    import matplotlib.pyplot as plt
    fig, axes = plt.subplots(2, 1)
    data = pd.Series(np.random.rand(16), index=list('abcdefghijklmnop'))
    data.plot.barh(color=‘r’, alpha=0.7) # 条形图
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    【例】在pandas中使用DataFrame绘制柱状图,代码如下。

    from pandas import DataFrame,Series
    import pandas as pd 
    import numpy as np
    import matplotlib.pyplot as plt
    df = pd.DataFrame(np.random.rand(4, 4),
                      index=['one', 'two', 'three', 'four'],
                      columns=pd.Index(['A', 'B', 'C', 'D'], name='bar'))
    df.plot.bar()
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    2.3 绘制直方图

    plot.hist()

    【例】在pandas中绘制直方图,代码如下。

    from pandas import DataFrame,Series
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    from numpy.random import randn
    df = pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),}, columns=['a', 'b'])
    df.plot.hist(bins=20)
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2.4 绘制散点图

    plot.scatter()
    【例】在pandas中绘制散点图,代码如下。
    在这里插入图片描述

    2.5 绘制饼图

    plot.pie()

    【例】在pandas中绘制饼图,代码如下。

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    df = pd.Series(3*np.random.rand(4),index = list('ABCD'))
    df.plot.pie(subplots = True)
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

    2.6 面积图

    plot.area()
    【例】在pandas中绘制面积图,代码如下。

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    df = pd.DataFrame(np.random.rand(8,4),columns = list('ABCD'))
    df.plot.area()
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2.7 盒须图

    plot.box()

    【例】在pandas中绘制盒须图,代码如下。

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    df = pd.DataFrame(np.random.rand(8,4),columns = list('ABCD'))
    df.plot.box()
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    自动化测试也可以不写代码?今天就教你
    前端笔试练习题——JS7 无重复数组、JS8 数组排序
    将YOLOv8模型从PyTorch的.pt格式转换为TensorRT的.engine格式
    基于 Kettle + StarRocks + FineReport 的大数据处理分析方案
    皕杰报表之报表优化
    js的MediaRecorder录音录视频方法笔记
    金仓数据库KingbaseES安全指南--6.8. SSPI身份验证
    JS 运行机制最全面的一次梳理
    《HCIP-openEuler实验指导手册》4.1Mysql数据库安装与配置
    找工作小项目:day16-重构核心库、使用智能指针(3)
  • 原文地址:https://blog.csdn.net/m0_58598240/article/details/128145096