簡體   English   中英

如何使用ndenumerate索引numpy數組?

[英]How to index numpy array using ndenumerate?

以下是一些代碼的一部分。

import numpy as np
nnet.temp = np.zeros(nnet.max_layer_size, dtype=np.float64)
##some code
nnet.temp[i] = temp_val
for index, x in np.ndenumerate(nnet.temp):
   print(index, x)

在這里,當我嘗試打印為“ print(nnet.temp)”時,其打印如下。

[0.12233607 0.         0.19732719 0.         0.23104049 0.
 0.         0.         0.         0.         0.         0.19245713]
[0.         2.48127313 0.         0.         0.         0.21570966
 0.         0.         0.39054759 0.         0.         0.        ]

因為我想用索引打印它們,所以我嘗試使用“ ndenumerate”,如下所示

for index, x in np.ndenumerate(nnet.temp):
   print(index, x)
(0,) 0.12233607087416862
(1,) 0.0
(2,) 0.19732719295877543
(3,) 0.0
(4,) 0.23104048678483236
(5,) 0.0
(6,) 0.0
(7,) 0.0
(8,) 0.0
(9,) 0.0
(10,) 0.0
(11,) 0.19245712897455036
(0,) 0.0
(1,) 2.4812731271543647
(2,) 0.0
(3,) 0.0
(4,) 0.0
(5,) 0.21570965947566847
(6,) 0.0
(7,) 0.0
(8,) 0.39054758850346893
(9,) 0.0
(10,) 0.0
(11,) 0.0

而我想按如下方式打印它們。

(0,0) 0.12233607087416862
(0,1) 0.0
(0,2) 0.19732719295877543
(0,3) 0.0
(0,4) 0.23104048678483236
(0,5) 0.0
(0,6) 0.0
(0,7) 0.0
(0,8) 0.0
(0,9) 0.0
(0,10) 0.0
(0,11) 0.19245712897455036
(1,0) 0.0
(1,1) 2.4812731271543647
(1,2) 0.0
(1,3) 0.0
(1,4) 0.0
(1,5) 0.21570965947566847
(1,6) 0.0
(1,7) 0.0
(1,8) 0.39054758850346893
(1,9) 0.0
(1,10) 0.0
(1,11) 0.0

這是什么錯誤,任何建議都將非常有幫助。 提前致謝。

這個對我有用:

In [146]: for idx,x in np.ndenumerate(np.zeros((3,2))):print(idx,x)                                          
(0, 0) 0.0
(0, 1) 0.0
(1, 0) 0.0
(1, 1) 0.0
(2, 0) 0.0
(2, 1) 0.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM