2017-08-25 6 views
-3

ich ein einfaches Skript, das eine Menge Fehler zurückgibt:, was ist falsch mit diesem Python-Skript

import numpy as np 
def test(array): 
    ncol=np.shape(array)[1] 
    return ncol 

die angeblich die Anzahl der Spalten der Matrix zurückzukehren. Was ist daran falsch?

Array ist ein numpy Array. Hier ist die Ausgabe:

ncol=np.shape(array)[1] Display all 195 possibilities? (y or n) ArithmeticError( continue AssertionError( copyright( AttributeError( credits( BaseException( def BlockingIOError( del

+0

Welche Fehler hat es zurückgeben? Was ist der Wert von 'Array'? – msanford

+0

Ich habe Fehler hinzugefügt. Array ist ein numpy Array –

+1

Wie verwenden Sie das Skript? Was ist der explizite Befehl, den Sie ausgeben, um die obigen Fehler zu erhalten? –

Antwort

1

Sie benötigen einen try.. catch um ncol=np.shape(array)[1] hinzuzufügen, weil sie versagt, wenn die Anordnung eine 1d Dimension:

import numpy as np 

arr = np.random.normal(size=10) 
arr1 = np.random.normal(size=(10,5)) 

def test(array): 
    try: 
     ncol=np.shape(array)[1] 
     return ncol 
    except Exception as e: 
     print("no columns in array") 
     return None 

print(test(arr)) 
# output: 
# no columns in array 
# None 

print(test(arr1)) 
# output: 
# 5