- 為什么
df.drop(index, axis=0),是去掉某一行數據;
df.drop(col_name, axis=1),是去掉某一列的數據? - 為什么
df.sum(axis=0),是求每列的數據之和;
df.sum(axis=1),是求每行的數據之和? -
從這張圖可以看出,
- axis=0、axis=index,指的是遍歷每個index、行號,即在縱向上遍歷每列,所以做sum()、mean()等運算時,是對每列數據做操作,而drop(index, axis=0),傳入的參數指定了某一行號,所以會在縱向上遍歷每列,去掉行號對應位置的數據。
- axis=1、axis=columns,指的是遍歷每個columns、列名,即在橫向上遍歷每行,所以做sum()、mean()等運算時,是對每行數據做操作,而drop(col, axis=1),傳入的參數指定了某一列名,所以會在橫向上遍歷每行,去掉列名對應位置的數據。
補充
pandas和numpy對於axis參數的使用是一致的,從numpy官方術語表對於axis的釋義可知一二。
Axes are defined for arrays with more than one dimension. A 2-dimensional array has two corresponding axes: the first running vertically downwards across rows (axis 0), and the second running horizontally across columns (axis 1).