久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

D02 Numpy常用函數(shù),,如何優(yōu)雅的遍歷一個多維數(shù)組?

 我的人生寶庫 2019-12-14

  • Python

  • 數(shù)據(jù)挖掘基礎(chǔ)

  • Numpy


如何優(yōu)雅的遍歷一個數(shù)組,,使用嵌套for循環(huán)嗎,?

當(dāng)我們想要遍歷一個多維數(shù)組的時候,如果通過不停的使用循環(huán)去遍歷,,這會讓我們的代碼可讀性與性能都變得很差,,numpy提供了一個函數(shù)nditer,以幫助我們遍歷數(shù)組。nditer的入?yún)⑹且粋€數(shù)組,,返回值是一個可迭代對象,。nditer 默認會優(yōu)先遍歷行序,通過order參數(shù)可以使其優(yōu)先遍歷列序,。

numpy.nditer
  • nditer返回一個迭代器對象

  • nditer默認優(yōu)先遍歷行序

  • nditer默認返回0維數(shù)組

import numpy as nparray_2d = np.arange(0, 10).reshape(2, 5)print(array_2d)# 優(yōu)先行序遍歷for element in np.nditer(array_2d): print(element)# 優(yōu)先列序遍歷for element in np.nditer(array_2d, order='F'): print(element)# 返回1維數(shù)組for element in np.nditer(array_2d, flags=['external_loop'],order='F'): print(element)

D02 Numpy常用函數(shù),如何優(yōu)雅的遍歷一個多維數(shù)組,?

改變數(shù)組形狀

在實際問題的處理之中,,我們經(jīng)常需要改變數(shù)組的形狀,以轉(zhuǎn)換為更為適合處理的數(shù)據(jù)結(jié)構(gòu),。reshape用于在不改變數(shù)組數(shù)據(jù)的條件下,,修改數(shù)組的形狀,我們在快速創(chuàng)建矩陣的適合已經(jīng)多次使用過該函數(shù),。下面再來簡單回顧一下,。

reshape
  • numpy.reshape(arr, newshape, order=’C’)

  • arr 是需要改變形狀的數(shù)組

  • newshape 是新數(shù)組的維度屬性,新數(shù)組的維度屬性應(yīng)與原數(shù)組兼容,,例如行列相等

  • order 是指定按行序或列序改變數(shù)組,,’C’ — 按行,’F’ — 按列,,’A’ — 原順序,,’k’ — 元素在內(nèi)存中的出現(xiàn)順序。其默認值為’C’,。

數(shù)組轉(zhuǎn)置

ndarray.T,該方法會將數(shù)組進行行列轉(zhuǎn)換

import numpy as nparray_2d = np.arange(0,10).reshape(2,5)print(array_2d)print(array_2d.T)

D02 Numpy常用函數(shù),,如何優(yōu)雅的遍歷一個多維數(shù)組?

數(shù)組切割

數(shù)據(jù)切割,,顧名思義是將數(shù)組切割為多個數(shù)組,。關(guān)于數(shù)組切割,numpy提供了一個強大的函數(shù)split,,split可以指定按照橫向或則豎向切割數(shù)組,。

  • numpy.split(ary, indices_or_sections, axis)

  • ary 是需要切割數(shù)組

  • indices_or_sections 指定需要切割的份數(shù)

  • axis 是指定數(shù)組的切割方向,默認為0,橫向切割,, axis=1時為豎向切割

import numpy as np# 按行切割array_2d = np.arange(0,10).reshape(2,5)print(array_2d)print(np.split(array_2d,2))# 按列切割array_2d = np.arange(0,12).reshape(2,6)print(array_2d)print(np.split(array_2d,3,axis=1))

D02 Numpy常用函數(shù),,如何優(yōu)雅的遍歷一個多維數(shù)組?

向數(shù)組中添加元素

numpy提供了兩個向數(shù)組中添加元素的方法,,分別時append方法和insert方法,。append方法會將元素添加至原數(shù)組末尾,insert方法會將元素插入到指定索引位置,。下面分別來練習(xí)一下兩種方法的使用,。

append
  • numpy.append(arr, values, axis=None)

  • append默認返回一個一維數(shù)組

  • arr為需要執(zhí)行插入操作的數(shù)組

  • values為需要插入的值

  • axis指定插入方式 axis=0為按行插入,axis=1為按列插入

  • 當(dāng)指定axis時 插入的數(shù)組維度必須與原數(shù)組相等

import numpy as nparray_2d = np.arange(0,10).reshape(2,5)print(array_2d)#向數(shù)組中插入元素new_array_1d = np.append(array_2d,[1,2,3])print(new_array_1d)#按行序向數(shù)組中插入元素# 注意:當(dāng)指定行列時,,輸入數(shù)組的維度必須與原數(shù)組相同new_array_2d = np.append(array_2d,[[10,11,12,13,14]],axis=0)print(new_array_2d)#按列序向數(shù)組中插入元素np.append(array_2d,[[5],[10]],axis=1)print(array_2d)

D02 Numpy常用函數(shù),,如何優(yōu)雅的遍歷一個多維數(shù)組?

insert
  • numpy.insert(arr, obj, values, axis)

  • insert默認返回一個一維數(shù)組

  • arr 需要插入元素的數(shù)組

  • obj 需要插入的索引位置

  • values 需要插入的值

  • axis 指定插入方式,,axis=0為按行插入,,axis=1為按列插入

import numpy as nparray_2d = np.arange(0,10).reshape(2,5)print(array_2d)# 向指定位置插入元素new_array_1d = np.insert(array_2d,obj=5,values=[100,101])print(new_array_1d)# 向指定位置按行序插入元素new_array_2d = np.insert(array_2d,obj=1,values=[10,11,12,13,14],axis=0)print(new_array_2d)# 向指定位置按列序插入元素new_array_2d = np.insert(array_2d,obj=1,values=[5,10],axis=1)print(new_array_2d)

D02 Numpy常用函數(shù),如何優(yōu)雅的遍歷一個多維數(shù)組,?

刪除數(shù)組中的元素

怎么樣,,通過numpy我們可以很方便的操作復(fù)雜的數(shù)組,下面來看一下本節(jié)最后一個內(nèi)容,,數(shù)組中元素的刪除delete,,delete與insert,append一樣它們不會改變元素組,,而是會返回一個新數(shù)組,,下面來練習(xí)一下delete的使用。

delete
  • numpy.delete(arr, obj, axis)

  • arr 是需要執(zhí)行刪除操作的數(shù)組

  • obj 是需要刪除元素的索引位置

  • axis 是指定行序列序,,axis=0為行序,,axis=1為列序,默認是將數(shù)組展開為1維數(shù)組

import numpy as nparray_2d = np.arange(0,10).reshape(2,5)print(array_2d)# 將數(shù)組展開為一維數(shù)組后刪除指定索引位置元素,,并返回一維數(shù)組new_array_1d = np.delete(array_2d,3)print(new_array_1d)# 刪除指定行序位置的元素new_array_2d = np.delete(array_2d,0,axis=0)print(new_array_2d)# 刪除指定列序位置的元素new_array_2d = np.delete(array_2d,1,axis=1)print(new_array_2d)

D02 Numpy常用函數(shù),,如何優(yōu)雅的遍歷一個多維數(shù)組?

關(guān)于numpy的基礎(chǔ)即將結(jié)束,,下一章將會講解numpy的統(tǒng)計,、排序與篩選,在這之后便會進入下一張pandas基礎(chǔ)的講解,。

轉(zhuǎn)載請注明出處

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多