python zeros用法實例


  編程就是踩坑的過程。今天又踩了一個坑,做個積累吧。

在給數組賦初始值的時候,經常會用到0數組,而Python中,我們使用zero()函數來實現。在默認的情況下,zeros創建的數組元素類型是浮點型的,如果要使用其他類型,可以設置dtype參數進行聲明。下面通過一個例子來說明:

  1默認參數的例子:

  

import numpy as np

r = 10
c = 10

D0 = np.zeros((11,11))
#D0 = np.zeros((11,11),dtype=int)

D0[0, 1:] = 32767
D0[1:, 0] = 32767

for i in range(r):
        for j in range(c):
            D0[i + 1, j + 1] = 1 
print D0
~                  

  運行結果:

[[  0.00000000e+00   3.27670000e+04   3.27670000e+04   3.27670000e+04
    3.27670000e+04   3.27670000e+04   3.27670000e+04   3.27670000e+04
    3.27670000e+04   3.27670000e+04   3.27670000e+04]
 [  3.27670000e+04   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00]
 [  3.27670000e+04   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00]
 [  3.27670000e+04   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00]
 [  3.27670000e+04   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00]
 [  3.27670000e+04   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00]
 [  3.27670000e+04   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00]
 [  3.27670000e+04   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00]
 [  3.27670000e+04   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00]
 [  3.27670000e+04   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00]
 [  3.27670000e+04   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00   1.00000000e+00
    1.00000000e+00   1.00000000e+00   1.00000000e+00]]

 

  2 參數為整形的例子:

 1 import numpy as np
 2 
 3 r = 10
 4 c = 10
 5 
 6 #D0 = np.zeros((11,11))
 7 D0 = np.zeros((11,11),dtype=int)
 8 
 9 D0[0, 1:] = 32767
10 D0[1:, 0] = 32767
11 
12 for i in range(r):
13         for j in range(c):
14             D0[i + 1, j + 1] = 1 
15 print D0

  運行結果:

[[    0 32767 32767 32767 32767 32767 32767 32767 32767 32767 32767]
 [32767     1     1     1     1     1     1     1     1     1     1]
 [32767     1     1     1     1     1     1     1     1     1     1]
 [32767     1     1     1     1     1     1     1     1     1     1]
 [32767     1     1     1     1     1     1     1     1     1     1]
 [32767     1     1     1     1     1     1     1     1     1     1]
 [32767     1     1     1     1     1     1     1     1     1     1]
 [32767     1     1     1     1     1     1     1     1     1     1]
 [32767     1     1     1     1     1     1     1     1     1     1]
 [32767     1     1     1     1     1     1     1     1     1     1]
 [32767     1     1     1     1     1     1     1     1     1     1]]

  可以看出,該zeros默認的是float類型,要使用別的類型需要加符號的,我就是在這個上面躺槍了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM