title: D02|Numpy常用函數author: Adolph Leecategories: 數據挖掘基礎tags:
Python數據挖掘基礎Numpy
如何遍歷一個數組,使用嵌套for循環嗎?
當我們想要遍歷一個多維數組的時候,如果通過不停的使用循環去遍歷,這會讓我們的代碼可讀性與性能都變得很差,numpy提供了一個函數nditer,以幫助我們遍歷數組。nditer的入參是一個數組,返回值是一個可迭代對象。nditer 默認會優先遍歷行序,通過order參數可以使其優先遍歷列序。
numpy.nditer
nditer返回一個迭代器對象nditer默認優先遍歷行序nditer默認返回0維數組
改變數組形狀
在實際問題的處理之中,我們經常需要改變數組的形狀,以轉換為更為適合處理的數據結構。reshape用於在不改變數組數據的條件下,修改數組的形狀,我們在快速創建矩陣的適合已經多次使用過該函數。下面再來簡單回顧一下。
reshape
numpy.reshape(arr, newshape, order=』C』)arr 是需要改變形狀的數組newshape 是新數組的維度屬性,新數組的維度屬性應與原數組兼容,例如行列相等order 是指定按行序或列序改變數組,』C』 — 按行,』F』 — 按列,』A』 — 原順序,』k』 — 元素在內存中的出現順序。其默認值為』C』。
數組轉置
ndarray.T,該方法會將數組進行行列轉換
數組切割
數據切割,顧名思義是將數組切割為多個數組。關於數組切割,numpy提供了一個強大的函數split,split可以指定按照橫向或則豎向切割數組。
numpy.split(ary, indices_or_sections, axis)ary 是需要切割數組indices_or_sections 指定需要切割的份數axis 是指定數組的切割方向,默認為0,橫向切割, axis=1時為豎向切割
向數組中添加元素
numpy提供了兩個向數組中添加元素的方法,分別時append方法和insert方法。append方法會將元素添加至原數組末尾,insert方法會將元素插入到指定索引位置。下面分別來練習一下兩種方法的使用。
append
numpy.append(arr, values, axis=None)append默認返回一個一維數組arr為需要執行插入操作的數組values為需要插入的值axis指定插入方式 axis=0為按行插入,axis=1為按列插入當指定axis時 插入的數組維度必須與原數組相等
insert
numpy.insert(arr, obj, values, axis)insert默認返回一個一維數組arr 需要插入元素的數組obj 需要插入的索引位置values 需要插入的值axis 指定插入方式,axis=0為按行插入,axis=1為按列插入
刪除數組中的元素
怎麼樣,通過numpy我們可以很方便的操作複雜的數組,下面來看一下本節最後一個內容,數組中元素的刪除delete,delete與insert,append一樣它們不會改變元素組,而是會返回一個新數組,下面來練習一下delete的使用。
delete
numpy.delete(arr, obj, axis)arr 是需要執行刪除操作的數組obj 是需要刪除元素的索引位置axis 是指定行序列序,axis=0為行序,axis=1為列序,默認是將數組展開為1維數組
關於numpy的基礎即將結束,下一章將會講解numpy的統計、排序與篩選,在這之後便會進入下一張pandas基礎的講解。
轉載請註明出處