最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

numpy迭代數(shù)組nditer的實(shí)現(xiàn)示例

 更新時(shí)間:2026年05月07日 09:37:41   作者:追風(fēng)箏的人000  
本文詳細(xì)介紹了NumPy庫(kù)中nditer對(duì)象的使用方法,包括逐個(gè)訪問數(shù)組元素、控制迭代順序、修改數(shù)組值、使用外部循環(huán)、跟蹤索引、緩沖數(shù)組元素及廣播數(shù)組迭代等內(nèi)容,感興趣的可以了解一下

1 逐個(gè)訪問數(shù)組元素

使用nditer可以完成逐個(gè)訪問數(shù)組中的元素。

a = np.arange(4).reshape(2, 2)
for i in a:
    print(i)
for i in np.nditer(a):
    print(i)

結(jié)果:

[0 1]
[2 3]
0
1
2
3

對(duì)于一維數(shù)組結(jié)果一樣,但是多維就有區(qū)別了

2 控制迭代順序

nditer對(duì)象提供了一個(gè)order參數(shù)來控制迭代順序。其參數(shù)order有三個(gè)可選參數(shù):K,F(xiàn),C
具有上述行為的默認(rèn)值是order ='K’以保持現(xiàn)有訂單。 對(duì)于C順序,可以使用order ='C’覆蓋它,對(duì)于Fortran順序,可以使用order ='F’覆蓋它。
其中“K”是默認(rèn)的,其結(jié)果與與原來的沒有區(qū)別,逐個(gè)讀取元素;
“C”:C order,即行序優(yōu)先;;
“F”:Fortran order,即列序優(yōu)先;

2.1二維

a = np.arange(6).reshape(2, 3)
print(a)
for i in np.nditer(a, order='C'):
    print(i)
print("---------")
for i in np.nditer(a, order='F'):
    print(i)
print("---------")
for i in np.nditer(a, order='K'):
    print(i)

結(jié)果:

[[0 1 2]
 [3 4 5]]
0
1
2
3
4
5
---------
0
3
1
4
2
5
---------
0
1
2
3
4
5

可以看出二維情況下"F"參數(shù)確實(shí)就是可以看過按列讀取元素

2.2三維

a = np.arange(18).reshape(2, 3, 3)
print(a)
for i in np.nditer(a, order='C'):
    print(i)
print("---------")
for i in np.nditer(a, order='F'):
    print(i)
print("---------")
for i in np.nditer(a, order='K'):
    print(i)

結(jié)果:

[[[ 0  1  2]
  [ 3  4  5]
  [ 6  7  8]]

 [[ 9 10 11]
  [12 13 14]
  [15 16 17]]]
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
---------
0
9
3
12
6
15
1
10
4
13
7
16
2
11
5
14
8
17
---------
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

注意三維數(shù)組列序優(yōu)先時(shí)的讀取順序。

3 修改數(shù)組值

并不推薦這種方法來修改數(shù)組值,可以作為參考
默認(rèn)情況下,nditer將輸入數(shù)組視為只讀對(duì)象。 要修改數(shù)組元素,必須指定讀寫或只寫模式。 這是用每操作數(shù)標(biāo)志控制的。
Python中的常規(guī)賦值只是更改本地或全局變量字典中的引用,而不是修改現(xiàn)有變量。 這意味著簡(jiǎn)單地分配給x不會(huì)將值放入數(shù)組的元素中,而是將x作為數(shù)組元素引用切換為對(duì)指定值的引用。 要實(shí)際修改數(shù)組的元素,x應(yīng)該用省略號(hào)索引。

a = np.arange(6).reshape(2, 3)
for x in np.nditer(a, op_flags=['readwrite']):
    x[...] = 2*x
print(a)
[[ 0  2  4]
 [ 6  8 10]]

4 使用外部循環(huán)

在目前為止的所有示例中,a的元素由迭代器一次提供一個(gè),因?yàn)樗醒h(huán)邏輯都是迭代器的內(nèi)部邏輯。 雖然這很簡(jiǎn)單方便,但效率不高。 更好的方法是將一維最內(nèi)層循環(huán)移動(dòng)到迭代器外部的代碼中。 這樣,NumPy的矢量化操作可以用在被訪問元素的較大塊上。

nditer將嘗試提供盡可能大的內(nèi)部循環(huán)塊。 通過強(qiáng)制’C’和’F’順序,我們得到不同的外部循環(huán)大小。 通過指定迭代器標(biāo)志來啟用此模式。

a = np.arange(6).reshape(2, 3)
for x in np.nditer(a, flags=['external_loop'], order='C'):
    print(x)
print("--------------")
for x in np.nditer(a, flags=['external_loop'], order='F'):
    print(x)

結(jié)果:注意行序優(yōu)先中輸出的一個(gè)數(shù)組,而不是一個(gè)個(gè)的數(shù)字元素

[0 1 2 3 4 5]
--------------
[0 3]
[1 4]
[2 5]

5 跟蹤索引或多索引

在迭代期間,你可能希望在計(jì)算中使用當(dāng)前元素的索引。 例如,你可能希望按內(nèi)存順序訪問數(shù)組的元素,然后使用C順序,F(xiàn)ortran順序或多維索引來查找不同數(shù)組中的值。

5.1multi_index

下面代碼中order參數(shù)根據(jù)自己需要選擇,也可以不寫默認(rèn)按行逐個(gè)讀取元素

a = np.arange(6).reshape(2, 3)
it = np.nditer(a, flags=['multi_index'], order="F")
while not it.finished:
    print("%d < %s>" %(it[0], it.multi_index))
    it.iternext()

結(jié)果: it.multi_index代表元素的索引,以元組形式輸出

0 < (0, 0)>
3 < (1, 0)>
1 < (0, 1)>
4 < (1, 1)>
2 < (0, 2)>
5 < (1, 2)>

5.2 f_index

a = np.arange(6).reshape(2, 3)
it = np.nditer(a, flags=['f_index'])
while not it.finished:
    print("%d < %d>" % (it[0], it.index))
    it.iternext()

結(jié)果:索引的編號(hào),以列序優(yōu)先

0 < 0>
1 < 2>
2 < 4>
3 < 1>
4 < 3>
5 < 5>

6 緩沖數(shù)組元素

通過啟用緩沖模式,迭代器提供給內(nèi)部循環(huán)的塊可以變得更大,從而顯著減少Python解釋器的開銷。 在強(qiáng)制Fortran迭代順序的示例中,當(dāng)啟用緩沖時(shí),內(nèi)部循環(huán)可以一次性查看所有元素。

a = np.arange(6).reshape(2, 3)
for x in np.nditer(a, flags=['external_loop','buffered'], order='F'):
   print(x)

輸出:

[0 3 1 4 2 5]

7 廣播數(shù)組迭代

代碼:

a = np.arange(3)
b = np.arange(6).reshape(2,3)
for x, y in np.nditer([a,b]):
    print("%d:%d" % (x,y))

輸出:

0:0
1:1
2:2
0:3
1:4
2:5

到此這篇關(guān)于numpy迭代數(shù)組nditer的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)numpy迭代數(shù)組nditer內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python使用any判斷一個(gè)對(duì)象是否為空的方法

    python使用any判斷一個(gè)對(duì)象是否為空的方法

    這篇文章主要介紹了python使用any判斷一個(gè)對(duì)象是否為空的方法,并給出了改進(jìn)的方法供大家對(duì)比參考,具有一定的借鑒價(jià)值,需要的朋友可以參考下
    2014-11-11
  • Python實(shí)現(xiàn)多張圖片合成文字的效果

    Python實(shí)現(xiàn)多張圖片合成文字的效果

    前段時(shí)間看到有人問如何使用Python實(shí)現(xiàn)多張圖片組成文字的效果?覺得還挺有意思,于是嘗試做了一下,剛好趕上端午節(jié),所以打算從網(wǎng)上下載1000張王心凌的照片,組成端午安康的字樣,感興趣的可以了解一下
    2022-06-06
  • Python中常用功能的實(shí)現(xiàn)代碼分享

    Python中常用功能的實(shí)現(xiàn)代碼分享

    這篇文章主要為大家整理分享了11個(gè)Python中常用功能的實(shí)現(xiàn)代碼片段,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04
  • Python使用BeautifulSoup抓取和解析網(wǎng)頁(yè)數(shù)據(jù)的入門教程

    Python使用BeautifulSoup抓取和解析網(wǎng)頁(yè)數(shù)據(jù)的入門教程

    文章介紹了Python中BeautifulSoup庫(kù)用于解析HTML和提取網(wǎng)頁(yè)數(shù)據(jù)的基本使用方法,包括安裝依賴、基礎(chǔ)用法、常用API以及實(shí)際操作示例,文中詳細(xì)解釋了BeautifulSoup與requests的關(guān)系,如何抓取和解析網(wǎng)頁(yè)數(shù)據(jù),并提供了常見錯(cuò)誤和注意事項(xiàng),需要的朋友可以參考下
    2026-05-05
  • python數(shù)據(jù)可視化之matplotlib.pyplot基礎(chǔ)以及折線圖

    python數(shù)據(jù)可視化之matplotlib.pyplot基礎(chǔ)以及折線圖

    不論是數(shù)據(jù)挖掘還是數(shù)據(jù)建模,都免不了數(shù)據(jù)可視化的問題,對(duì)于Python來說,Matplotlib是最著名的繪圖庫(kù),它主要用于二維繪圖,這篇文章主要給大家介紹了關(guān)于python數(shù)據(jù)可視化之matplotlib.pyplot基礎(chǔ)以及折線圖的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • 深入了解Python中的序列解包

    深入了解Python中的序列解包

    在Python中,序列解包(Sequence Unpacking)指的是將一個(gè)序列(或任何可迭代的對(duì)象)解包,并將得到的值存儲(chǔ)在一系列變量中,下面我們就來學(xué)習(xí)一下Python中序列解包的用法吧
    2023-10-10
  • Python實(shí)現(xiàn)http服務(wù)器(http.server模塊傳參?接收參數(shù))實(shí)例

    Python實(shí)現(xiàn)http服務(wù)器(http.server模塊傳參?接收參數(shù))實(shí)例

    這篇文章主要為大家介紹了Python實(shí)現(xiàn)http服務(wù)器(http.server模塊傳參?接收參數(shù))實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Python如何實(shí)現(xiàn)遠(yuǎn)程方法調(diào)用

    Python如何實(shí)現(xiàn)遠(yuǎn)程方法調(diào)用

    這篇文章主要介紹了Python如何實(shí)現(xiàn)遠(yuǎn)程方法調(diào)用,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08
  • 在python中做正態(tài)性檢驗(yàn)示例

    在python中做正態(tài)性檢驗(yàn)示例

    今天小編就為大家分享一篇在python中做正態(tài)性檢驗(yàn)示例,具有很的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python通過第三方庫(kù)操作PDF文件的幾種常見方法

    python通過第三方庫(kù)操作PDF文件的幾種常見方法

    Python是一種高級(jí)編程語(yǔ)言,主要用于數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、圖像處理等領(lǐng)域,在PDF文件處理方面,Python有許多強(qiáng)大的庫(kù)和工具,這篇文章主要給大家介紹了關(guān)于python通過第三方庫(kù)操作PDF文件的幾種常見方法,需要的朋友可以參考下
    2024-02-02

最新評(píng)論

慈溪市| 濉溪县| 威信县| 乌兰浩特市| 阳原县| 房山区| 临朐县| 平和县| 阿城市| 饶平县| 崇阳县| 蓬莱市| 新化县| 英德市| 衡水市| 马边| 浦东新区| 象山县| 玉环县| 天镇县| 鸡东县| 正阳县| 汝城县| 额敏县| 宁乡县| 三门峡市| 城市| 喀什市| 新龙县| 霍林郭勒市| 遂溪县| 通江县| 阳信县| 合作市| 普定县| 克东县| 绵竹市| 治多县| 浦江县| 沙坪坝区| 兰溪市|