zoukankan      html  css  js  c++  java
  • 【python】详解numpy库与pandas库axis=0,axis= 1轴的用法

    对数据进行操作时,经常需要在横轴方向或者数轴方向对数据进行操作,这时需要设定参数axis的值:

    • axis = 0 代表对横轴操作,也就是第0轴;
    • axis = 1 代表对纵轴操作,也就是第1轴;

    numpy库中横轴、纵轴 axis 参数实例详解:

    In [1]: import numpy as np
    #生成一个3行4列的数组
    In [2]: a = np.arange(12).reshape(3,4)
    In [3]: a
    Out[3]:
    array([[ 0,  1,  2,  3],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11]])
    #axis= 0 对a的横轴进行操作,在运算的过程中其运算的方向表现为纵向运算
    In [4]: a.sum(axis = 0)
    Out[4]: array([12, 15, 18, 21])
    #axis= 1 对a的纵轴进行操作,在运算的过程中其运算的方向表现为横向运算
    In [5]: a.sum(axis = 1)
    Out[5]: array([ 6, 22, 38])

    pandas库DataFrame中横轴、纵轴 axis 参数实例详解:

    In [8]: b = pd.DataFrame(np.arange(24).reshape(4,6))
    In [9]: b
    Out[9]:
        0   1   2   3   4   5
    0   0   1   2   3   4   5
    1   6   7   8   9  10  11
    2  12  13  14  15  16  17
    3  18  19  20  21  22  23
    #axis= 0 对b的横轴进行操作,在运算的过程中其运算的方向表现为纵向运算
    In [10]: b.sum(axis = 0)
    Out[10]:
    0    36
    1    40
    2    44
    3    48
    4    52
    5    56
    dtype: int64
    #axis= 1 对b的横轴进行操作,在运算的过程中其运算的方向表现为纵向运算
    In [11]: b.sum(axis = 1)
    Out[11]:
    0     15
    1     51
    2     87
    3    123
    dtype: int64

    这里写图片描述

    pandas库panel中axis 参数实例详解:

    In [18]: np.arange(24).reshape(2,3,4)
    Out[18]:
    array([[[ 0,  1,  2,  3],
            [ 4,  5,  6,  7],
            [ 8,  9, 10, 11]],
    
           [[12, 13, 14, 15],
            [16, 17, 18, 19],
            [20, 21, 22, 23]]])
    #生成面板数据
    In [19]: c = pd.Panel(np.arange(24).reshape(2,3,4))
    In [24]: c
    Out[24]:
    <class 'pandas.core.panel.Panel'>
    Dimensions: 2 (items) x 3 (major_axis) x 4 (minor_axis)
    Items axis: 0 to 1
    Major_axis axis: 0 to 2
    Minor_axis axis: 0 to 3
    #对Items axis轴的数据进行操作,也就是panel里面的0轴:
    In [20]: c.sum(axis = 0)
    Out[20]:
        0   1   2   3
    0  12  14  16  18
    1  20  22  24  26
    2  28  30  32  34
    对Major_axis axis轴的数据进行操作
    In [21]: c.sum(axis = 1)
    Out[21]:
        0   1
    0  12  48
    1  15  51
    2  18  54
    3  21  57
    对Minor_axis axis轴的数据进行操作
    In [22]: c.sum(axis = 2)
    Out[22]:
        0   1
    0   6  54
    1  22  70
    2  38  86

    这里写图片描述

    如果是2维数组,先横轴后纵轴;如果是3维数组,先最外层,然后一层一层按照先横轴再纵轴的逻辑进行匹配轴。

  • 相关阅读:
    EasyUI
    EasyUI
    EasyUI
    django MTV架构下的网站开发步骤
    Centos7下安装python3
    python 线程间事件通知
    hadoop MapReduce
    hadoop文件配置
    DataFrame 数据去重
    用selenium获取cookies
  • 原文地址:https://www.cnblogs.com/Rvin/p/9237541.html
Copyright © 2011-2022 走看看