官方幫助的解釋:
軸用來爲超過一維數組定義的屬性,二維數據擁有兩個軸:第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.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的重點在於方向,而不是行和列,具體體現到各種用法也是如此。
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
轉載
來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/69910834/viewspace-2637756/