2017-02-12 2 views
1

In Python pandas.describe(includes='all'), die kategorischen Attribute zeigen nur "count, unique, top und freq", wo Sie nicht wissen, die "null, zählt der kategorischen Werte". Zum Beispiel habe ich eine 'Sex'-Variable, in der nicht angezeigt wird, wie viele Männer/Frauen oder NAs sind. Aber in R würde ein summary() die Jobs für beide Zahlen oder kategorische Variablen tun. Wie erreichen Sie einen R-Stil summary() in Python. BTW, ist die Ausgabe von includes='all' Option nicht sehr benutzerfreundlich im Vergleich zu RR-Stil kategorische deskriptive Statistiken in Python

Python R output

+0

Verwenden 'df [ 'Sex'] value_counts()' als quick and dirty Ersatz. – DyZ

Antwort

2

Betrachten Sie eine benutzerdefinierte Übersichtsliste einer für numerische und andere für kategorische (dh Objekt Typen) Erstellen von Spalten um die Zusammenfassung von R zu replizieren. Entfernen Sie sogar das if im Listenverständnis, um Zählungen für alle Spalten zurückzugeben. Im Folgenden verwendet Titanic-Datensatz von @ vincentarelbundock ES R datasets page.

df = pd.read_csv('https://vincentarelbundock.github.io/Rdatasets/csv/datasets/Titanic.csv', 
       index_col=0) 

summary_list = [df.describe()] + \ 
       [df.groupby([c])[df.columns[0]].count() \ 
       for c in df.columns if df[c].dtype == 'object'] 

for i in summary_list: 
    print(i) 
    print() 

Ausgabe

   Age  Survived  SexCode 
count 756.000000 1313.000000 1313.000000 
mean 30.397989  0.342727  0.351866 
std  14.259049  0.474802  0.477734 
min  0.170000  0.000000  0.000000 
25%  21.000000  0.000000  0.000000 
50%  28.000000  0.000000  0.000000 
75%  39.000000  1.000000  1.000000 
max  71.000000  1.000000  1.000000 

Name 
Abbing, Mr Anthony        1 
Abbott, Master Eugene Joseph      1 
Abbott, Mr Rossmore Edward      1 
Abbott, Mrs Stanton (Rosa)      1 
Abelseth, Miss Anna Karen      1 
Abelseth, Mr Olaus        1 
Abelson, Mr Samuel        1 
Abelson, Mrs Samuel (Anna)      1 
Abraham, Mrs Joseph (Sophie Easu)    1 
Abrahamsson, Mr August       1 
Adahl, Mr Mauritz Nils Martin     1 
Adams, Mr John         1 
Ahlin, Mrs Johanna Persdotter     1 
Ahmed, Mr Ali         1 
Aijo-Nirva, Mr Isak        1 
Aks, Master Philip        1 
Aks, Mrs Sam (Leah Rosen)      1 
Aldworth, Mr Charles Augustus     1 
Alexander, Mr William       1 
Alhomaki, Mr Ilmari Rudolf      1 
Ali, Mr William         1 
Allen, Miss Elisabeth Walton      1 
Allen, Mr William Henry       1 
Allison, Master Hudson Trevor     1 
Allison, Miss Helen Loraine      1 
Allison, Mr Hudson Joshua Creighton    1 
Allison, Mrs Hudson JC (Bessie Waldo Daniels) 1 
Allum, Mr Owen George       1 
Andersen, Mr Albert Karvin      1 
Andersen, Mr Thor Olsvigen      1 
               .. 
Williams, Mr Charles Duane      1 
Williams, Mr Charles Eugene      1 
Williams, Mr Fletcher Lambert     1 
Williams, Mr Howard Hugh       1 
Williams, Mr Leslie        1 
Williams, Mr Richard Norris II     1 
Wilson, Ms Helen         1 
Windelov, Mr Einar        1 
Wirz, Mr Albert         1 
Wiseman, Mr Phillippe       1 
Wittevrongel, Mr Camiel       1 
Woolner, Mr Hugh         1 
Wright, Miss Marion        1 
Wright, Mr George        1 
Yalsevac, Mr Ivan        1 
Yasbeck, Mr Antoni        1 
Yasbeck, Mrs Antoni        1 
Young, Miss Marie Grice       1 
Youssef, Mr Gerios        1 
Yrois, Miss Henriette       1 
Zabour, Miss Hileni        1 
Zabour, Miss Tamini        1 
Zakarian, Mr Artun        1 
Zakarian, Mr Maprieder       1 
Zenni, Mr Philip         1 
Zimmerman, Leo         1 
de Brito, Mr Jose Joaquim      1 
de Villiers, Madame Berthe      1 
del Carlo, Mr Sebastiano       1 
del Carlo, Mrs Sebastiano (Argenia Genovese)  1 
Name: Name, dtype: int64 

PClass 
*  1 
1st 322 
2nd 279 
3rd 711 
Name: Name, dtype: int64 

Sex 
female 462 
male  851 
Name: Name, dtype: int64 
Verwandte Themen