1. 程式人生 > >axis=0 與 axis=1 的區分

axis=0 與 axis=1 的區分

官方幫助的解釋:

軸用來為超過一維陣列定義的屬性,二維資料擁有兩個軸:第0軸沿著行的方向垂直向下,第1軸沿著列的方向水平延申。

根據官方的說法,1表示橫軸,方向從左到右;0表示縱軸,方向從上到下。當axis=1時,陣列的變化是橫向的,體現出列的增加或者減少。反之,當axis=0時,陣列的變化是縱向的,體現出行的增加或減少。

下圖為dataframe中axis為0和1時的圖示:

                                  

例項:

df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]],
                  columns=['col0','col1','col2','col3'])
>>>df

               

df.mean(axis=1)
>>>
0    1.0
1    2.0
2    3.0
dtype: float64

df.mean(axis=0)
>>>
col0    2.0
col1    2.0
col2    2.0
col3    2.0
dtype: float64

df.drop('col2',axis=1)
>>>

         

df.drop(0,axis=0)
>>>

        

用法:DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)

所以,axis的重點在於方向,而不是行和列,具體體現到各種用法也是如此。

 

轉載於:https://blog.csdn.net/brucewong0516/article/details/79030994

np.arange(24).reshape(2,3,4)
>>>
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]]])

#生成面板資料
c = pd.Panel(np.arange(24).reshape(2,3,4))
c
<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軸:
c.sum(axis = 0)
>>>
    0   1   2   3
0  12  14  16  18
1  20  22  24  26
2  28  30  32  34

#對Major_axis axis軸的資料進行操作
c.sum(axis = 1)
>>>
    0   1
0  12  48
1  15  51
2  18  54
3  21  57

#對Minor_axis axis軸的資料進行操作
c.sum(axis = 2)
>>>
    0   1
0   6  54
1  22  70
2  38  86

 

轉載於:https://blog.csdn.net/brucewong0516/article/details/79030994