轉自:
https://www.cnblogs.com/rrttp/p/8028421.html
http://blog.csdn.net/wangying19911991/article/details/73928172
https://www.zhihu.com/question/58993137
其實問題理解axis有問題,df.mean其實是在每一行上取所有列的均值,而不是保留每一列的均值。也許簡單的來記就是axis=0代表往跨行(down),而axis=1代表跨列(across),作爲方法動作的副詞(譯者注)
換句話說:
- 使用0值表示沿着每一列或行標籤\索引值向下執行方法
- 使用1值表示沿着每一行或者列標籤模向執行對應的方法
下圖代表在DataFrame當中axis爲0和1時分別代表的含義:
axis參數作用方向圖示
另外,記住,Pandas保持了Numpy對關鍵字axis的用法,用法在Numpy庫的詞彙表當中有過解釋:
軸用來爲超過一維的數組定義的屬性,二維數據擁有兩個軸:第0軸沿着行的垂直往下,第1軸沿着列的方向水平延伸。
所以問題當中第一個列子 df.mean(axis=1)代表沿着列水平方向計算均值,而第二個列子df.drop(name, axis=1) 代表將name對應的列標籤(們)沿着水平的方向依次刪掉。