2016-09-09 4 views
1

Describe() tut nicht genau das, was ich möchte - also rollen ich meine eigene Version.Zusammenfassung Daten für Pandas Datenrahmen

Die folgenden funktioniert gut abgesehen von der endgültigen Metrik "Num eindeutige Werte", die Zahlen zurückgibt, aber sie sind nicht korrekt - ich denke, ich verwende falsch anwenden?

pd.DataFrame({ 
     'Max':d.max(), 
     'Min':d.min(), 
     'Count':d.count(axis = 0), 
     'Count Null':d.isnull().sum(), 
     'Count Zero':d[d==0].count(), 
     'Num Unique Values':d.apply(lambda x: x.nunique()) 
    }) 
+0

Was ist ' 'Num Einzelwerte': len (d .unique()) '? – jezrael

Antwort

1

Für mich funktioniert es schön:

print(df.apply(lambda x: x.nunique())) 

Probe:

df = pd.DataFrame({'A':[1,2,2,1], 
        'B':[4,5,6,4], 
        'C':[7,8,9,1], 
        'D':[1,3,5,9]}) 

print (df) 
    A B C D 
0 1 4 7 1 
1 2 5 8 3 
2 2 6 9 5 
3 1 4 1 9 

print (df.apply(lambda x: x.nunique())) 
A 2 
B 3 
C 4 
D 4 
dtype: int64 

Eine andere Lösung:

print (df.apply(lambda x: len(x.unique()))) 
A 2 
B 3 
C 4 
D 4 
dtype: int64 
+0

also war ich in erster Linie richtig ?! Lassen Sie mich die Zahlen überprüfen – whytheq

+0

Es funktioniert für mich. – jezrael

+0

Ich sollte mehr Vertrauen in mich selbst haben !! – whytheq

Verwandte Themen