python中的axis究竟是如何定義的呢?他們究竟代表是DataFrame的行還是列?考慮以下代碼:
>>>df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], \
columns=["col1", "col2", "col3", "col4"])
>>>df
col1 col2 col3 col4
0 1 1 1 1
1 2 2 2 2
2 3 3 3 3
如果我們調用df.mean(axis=1),我們將得到按行計算的均值
>>> df.mean(axis=1)
0 1
1 2
2 3
然而,如果我們調用 df.drop((name, axis=1),我們實際上刪掉了一列,而不是一行:
>>> df.drop("col4", axis=1)
col1 col2 col3
0 1 1 1
1 2 2 2
2 3 3 3
這里其實很簡單,axis=0其實是跨行,而axis=1是跨列
我們這里來看看df.mean(axis=1),因為axis=1所以按照上面的說法,就是跨列進行計算,這樣跨了3列計算得到了平均值(相當於水平方向上的操作)
再仔細來看看 df.drop((name, axis=1),也是跨列進行計算,這里我們利用上面所得到的想法,是水平方向上的操作,這里規定了name,也就是對這一列進行水平方向上的操作(這里是drop操作),於是就得到了上述的結果
