2016-07-12 1 views
2
Musica = np.zeros((row*120,3)) 

for k in range(21, 90): 
    for i in range(row): 
     for j in range(Max[k], Min[k]): 
      Musica[i*120 + j,:] = 0,i,j 
      if np.all(data[i*col + j,:]==(255.000,0.000,0.000,i,j)): 
       Music[i*120 + j,:] = 1,i,j 

Max[k]Min[k]は数学intergerグループに属している番号ですが、私は整数型のnp.zerosを呼び出すにはどうすればよい整数のnp.zerosをどのように呼び出すのですか?

"TypeError: range() integer end argument expected, got numpy.float64."

のpythonからこのメッセージが表示されますか?

今私は休閑コードを使用しようとしています:

Musica = np.zeros((row*120,3)) 

for k in range(21, 90): 
    for i in range(row): 
     Max = int(Max[k]) 
     Min = int(Min[k]) 
     for j in range(Max, Min): 
      Musica[i*120 + j,:] = 0,i,j 
      if np.all(data[i*col + j,:]==(255.000,0.000,0.000,i,j)): 
       Musica[i*120 + j,:] = 1,i,j 

を私は受けていますエラーメッセージは次のとおりです。

線181は、「マックス= INT(マックス[kは
Traceback (most recent call last): 

    File "<ipython-input-115-4aef2441146c>", line 1, in <module> 
    runfile('C:/Users/Arthur_USP/Desktop/Informação/Nova abordagem/untitled0.py', wdir='C:/Users/Arthur_USP/Desktop/Informação/Nova abordagem') 

    File "C:\Users\Arthur_USP\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 699, in runfile 
    execfile(filename, namespace) 

    File "C:\Users\Arthur_USP\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 74, in execfile 
    exec(compile(scripttext, filename, 'exec'), glob, loc) 

    File "C:/Users/Arthur_USP/Desktop/Informação/Nova abordagem/untitled0.py", line 181, in <module> 

TypeError: 'int' object has no attribute '__getitem__' 

]) "

+1

'行'とは何ですか?また、スタックトレースを含む完全なエラーメッセージを投稿してください。 – user2357112

+0

行は画像の幅のピクセルのサイズです。 – NeedHelp

答えて

7

np.zeros(shape).astype(int)を試すことができます。

EDIT: 実際には、0はdtype引数を受け入れます。だからもっと良いですnp.zeros(shape, dtype=int)

+0

働きました、ありがとう! – NeedHelp

関連する問題