Python中NumPy(axis=0 與axis=1)


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操作),於是就得到了上述的結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM