關於Numpy和Pandas axis的理解

2021-01-11 自由之書VpnBook

先知

維度在理解axis之前,我們應該理解維度的含義:通常的理解是:「點是0維、直線是1維、平面是2維、體是3維」。在機器學習中我們常常處理幾十維的數據,對於機器學習常用的Numpy庫,當我們賦予二維數組每一行一個值的時候,那麼此時二維數組的列數就是多維空間的維度。每一行給的值通常是我們的樣本值,它也是損失函數準確度的一個依據。

# 構造數組,該行列式給予樣本值將變為4維空間two = np.arange(9).reshape(3,3)two---array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])# 查看維度two.ndim---2axis那麼問題來了,我們應該怎麼理解Numpy和Pandas(axis概念全部繼承於Numpy),當一個數組上升到二維我們需要考慮是對行操作還是對列操作,那麼如果上升為3維數組呢,沒錯,還會多出來一個axis:2。到這裡你應該明白,axis其實就是對數組層數的操作,ndim是幾,那麼對應的axis就有幾個,下面看一張圖,或許你就會明白。

操作

通俗理解(二維數組)當axis=0的時候,即對第一層進行操作,此時Numpy只對第一層內的數組進行操作,即axis執行方向從上到下;當axis=1的時候,即對第二層進行操作,此時Numpy只對第二層內的數組進行操作,即axis執行方向從左到右。

再次理解看下面的圖,這裡的理解是,當axis=0的時候,從上到下以列為整體;當axis=1的時候,從左往右以行為整體。

特殊

Dataframe下面我們再次對其理解,看下圖的紅線部分axis=1,此時我們可以理解為當axis=1的時候是把列作為整體進行操作的,而當 axis=0也就是紅線部分,我們把其看作是以行為整體操作的,numpy默認為行,因為這樣保證數據的原始性。

drop這個可以認為是特殊的,但記住一點當axis=0的時候是從上往下的,dorp指出了要刪除iloc為1的行,那麼此時便會從上往下進行刪除,即以列為單位刪除整行;同理axis=1,從左往右推薦,當column='C'的滿足條件,整列刪除。

總結

說了這麼多,你要記住的就是,axis=0的時候一定是從上往下的;axis=1的時候肯定是從左往右。

參考文檔

pandas axis的用法關於pandas中axis屬性的一點理解感受

希望大家可以慢慢領悟!:)

武漢加油!湖北加油!中國加油!大家加油!

相關焦點

  • Python數據處理包,pandas 乾貨知識,關於軸的理解
    前言axis 表示軸,是處理多維數據時用於表示維度方向的概念,在 pandas 中大部分的方法都有 axis 參數,因為 pandas 需要調用者告訴他,需要處理的是哪個維度的數據。本文將分享我對 axis 的理解,希望幫助你更好理解 axis 的概念,這些概念不僅僅應用在 pandas ,同樣適合於其他相關的庫的理解(如 numpy 中的3維或以上的處理)。
  • pandas與numpy中神奇的axis
    pandas與numpy中神奇的axis最近在百奧智匯兼職,基本上比較重的工作就在數據處理,所以pandas和numpy用的比較多。
  • Pandas 必知必會的使用技巧,值得收藏!
    本期的主題是關於python的一個數據分析工具pandas的,歸納整理了一些工作中常用到的pandas使用技巧,方便更高效地實現數據分析。=1 2.獲取分組裡最大值所在的行方法 分為分組中有重複值和無重複值兩種。
  • Numpy入門詳細教程
    本篇先從numpy開始,對numpy常用的方法進行思維導圖式梳理,多數方法僅拉單列表,部分接口輔以解釋說明及代碼案例。最後分享了個人關於axis和廣播機制的理解。numpy可以很方便的實現基本統計量,而且每種方法均包括對象方法和類方法:max,argmax分別返回最大值和最大值對應索引,可接收一個axis參數,指定軸線的聚合統計。
  • 盤點Pandas 的100個常用函數
    作者 | 劉順祥 來源 | 數據分析1480 這一期將分享我認為比較常規的100個實用函數,這些函數大致可以分為六類,分別是統計匯總函數、數據清洗函數、數據篩選、繪圖與元素級運算函數、時間序列函數和其他函數。統計匯總函數數據分析過程中,必然要做一些數據的統計匯總工作,那麼對於這一塊的數據運算有哪些可用的函數可以幫助到我們呢?
  • Numpy應用整理
    現在幾乎各種應用場合都會用到numpy,主要有以下幾個原因:numpy提供了很多數值計算和常用算法的函數numpy歸功了很多線性代數的相關操作numpy的執行效率高首先導入numpy庫import numpy as np常規列表應用用numpy建的列表類型都是ndarray,因此我們首先來看np.array
  • D03 Numpy排序、篩選、統計
    在生活中最為常見的數據存放形式是二維表,我們將二維表數據轉換為ndarray之後對應的即為二維數組,下面以二維數組為例,講述numpy的排序、篩選、統計。排序關於排序,numpy的開發者們一早就為我們準備好了方法函數供我們使用,並且提供了多種不同的排序算法例如最常用的quicksort以及穩定性最強的mergesort。
  • Numpy學習打卡task03
    關於概率和統計的最早著作,是從概率論中借鑑的統計方法,可以追溯到阿拉伯數學家和密碼學家,尤其是Al-Khalil(717-786)和Al-Kindi(801-873)。在18世紀,統計數據也開始大量地來自微積分。近年來,統計數據越來越依賴統計軟體來進行這些測試,例如描述性分析。數理統計是數學在統計學中的應用。
  • python數據科學系列:numpy入門詳細教程
    本篇先從numpy開始,對numpy常用的方法進行思維導圖式梳理,多數方法僅拉單列表,部分接口輔以解釋說明及代碼案例。最後分享了個人關於axis和廣播機制的理解。本文知識要點一級菜單numpy可以很方便的實現基本統計量,而且每種方法均包括對象方法和類方法:max,argmax分別返回最大值和最大值對應索引,可接收一個axis參數,指定軸線的聚合統計。
  • Numpy高級操作大全!!!
    函數接受下列函數:– numpy.append(arr, values, axis)– 其中:• arr:輸入數組• values:要向arr添加的值,比如和arr形狀相同(除了要添加的軸) • axis:沿著它完成操作的軸。如果沒有提供,兩個參數都會被展開。
  • 好程式設計師Python培訓分享numpy簡介
    好程式設計師Python培訓分享numpy簡介:一、numpy簡介:NumPy是一個功能強大的Python庫,主要用於對多維數組執行計算。NumPy這個詞來源於兩個單詞-- Numerical和Python。NumPy提供了大量的庫函數和操作,可以幫助程式設計師輕鬆地進行數值計算。
  • Numpy入門教程:10. 統計相關
    NumPy 數組用於存儲訓練數據和機器學習模型的參數。統計相關次序統計numpy.amin(a[, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np.
  • 如果不懂Numpy,請別說自己是Python程式設計師
    熟悉 numpy,才能學會使用 pyOpenGL / pyOpenCV / pandas / matplotlib 等數據處理及可視化的模塊。事實上,numpy 的數據組織結構,尤其是數組(numpy.ndarray),幾乎已經成為所有數據處理與可視化模塊的標準數據結構了(這一點,類似於在機器學習領域 python 幾乎已經成為首選工具語言)。
  • 數據處理必看:如何讓你的 pandas 循環加快 71803 倍
    雷鋒網 AI 開發者按,如果你使用 python 和 pandas 進行數據分析,那麼不久你就會第一次使用循環了。然而,即使是對小型數據集,使用標準循環也很費時,你很快就會意識到大型數據幀可能需要很長的時間。當我第一次等了半個多小時來執行代碼時,我找到了接下來想與你共享的替代方案。標準循環數據幀是具有行和列的 pandas 對象。
  • 數據分析必備,NumPy進階80題(附下載)
    本文共分為兩個部分:完整版NumPy80題Notebook版下載方式(文末獲取)import numpy as npprint(np.>np.unique(data,return_counts=True)np.repeat(data, 2,
  • 圖解NumPy:常用函數的內在機制
    支持大量多維數組和矩陣運算的 NumPy 軟體庫是許多機器學習開發者和研究者的必備工具,本文將通過直觀易懂的圖示解析常用的 NumPy 功能和函數,幫助你理解 NumPy 操作數組的內在機制。基於一維數組得到二維數組的運算有兩種:使用 reshape 調整形狀和使用 newaxis 進行索引:其中 -1 這個參數是告訴 reshape 自動計算其中一個維度大小,方括號中的 None 是用作 np.newaxis 的快捷方式,這會在指定位置添加一個空 axis。因此,NumPy 共有三類向量:一維向量、二維行向量和二維列向量。
  • D02 Numpy常用函數,如何優雅的遍歷一個多維數組?
    關於數組切割,numpy提供了一個強大的函數split,split可以指定按照橫向或則豎向切割數組。numpy.split(ary, indices_or_sections, axis)ary 是需要切割數組indices_or_sections 指定需要切割的份數axis 是指定數組的切割方向,默認為0,橫向切割, axis=1時為豎向切割向數組中添加元素numpy提供了兩個向數組中添加元素的方法,分別時append方法和insert方法。
  • 圖解NumPy,這是理解數組最形象的一份教程了
    Python 的一些主要軟體包(如 scikit-learn、SciPy、pandas 和 tensorflow)都以 NumPy 作為其架構的基礎部分。除了能對數值數據進行切片(slice)和切塊(dice)之外,使用 NumPy 還能為處理和調試上述庫中的高級實例帶來極大便利。
  • Python:一篇文章掌握Numpy的基本用法
    本文主要內容如下:Numpy數組對象創建ndarray數組Numpy的數值類型ndarray數組的屬性ndarray數組的切片和索引處理數組形狀數組的類型轉換numpy常用統計函數數組的廣播1 Numpy數組對象Numpy中的多維數組稱為ndarray
  • 對於merge、join和concat三者的區別分析
    1、從合併的方式看merge和join是一樣的,有left/right/inner/outer,而concat只有inner/outer兩種,因為merge和join參與合併的對象有左右區分,而concat第一個參數是多個dataframe組成的列表,沒有嚴格的左右區分,如果排除最後結果中列的順序的話,可以看成是一樣的。