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


轉載文鏈接:https://blog.csdn.net/brucewong0516/article/details/79030994 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM