2017-05-17 4 views
0

Ich erhalte diese Fehlermeldung:Valueerror: Form der übergebenen Werte (1, 31), Indizes bedeuten (1, 32)

ValueError: Shape of passed values is (1, 31), indices imply (1, 32) 

In dieser Funktion:

def compute_r_statistic(x): 
    R_stat = np.zeros(shape=(0,0)) 
    x = x[np.logical_not(np.isnan(x))] 
    sample = x 
    for i in range(0,len(x)): 
     avg = np.nanmean(sample) 
     std = np.nanstd(sample) 
     sample = np.fabs(sample - avg) 
     **print sample[0].argmax()** 
     r_i = np.max(sample)/std 
     R_stat = np.append(R_stat,r_i) 
     #remove biggest value 
     sample = np.delete(sample, -1) 
    return R_stat 

in dieser Linie:

print sample[0].argmax() 

Wie kann ich die Argmax drucken?

x eine Pandas Datenrahmen wie folgt aus:

>>> print x 
        0 
1951-03-31  NaN 
1951-06-30  NaN 
1951-09-30 7.918750 
1951-12-31 6.936607 
1952-03-31 34.029464 
1952-06-30 -4.672321 
1952-09-30 -15.85625 
+0

Können Sie versuchen, 'sample [0] .argmax()' durch 'sample [0] .values.argmax()' zu ersetzen? – Jon

+0

Ich bekomme immer noch das gleiche Problem –

+0

Ich glaube, das ist ein Fehler beim Schneiden. Versuchen Sie, 'sample [0]' vs 'sample.values ​​[0]' zu prüfen; Sehen Sie, was die Typen sind. – Jon

Antwort

1

Versuchen chaning:

print sample[0].argmax() 

Um

print(sample.iloc[:,0].argmax()) 

Um zu sehen, ob es hilft?

Verwandte Themen