2016-09-06 2 views
2

Ich versuche, Funktion in Pandas auf meinem Dataframe zu "beschreiben", aber es zeigt nur eine Spalte anstelle der vier, die ich in meine CSV-Datei importiert habe. Beachte, dass ich Jupyter dafür benutze.Die Methode DataFrame.describe ignoriert einige der Spalten

Unten sehen Sie die Ausgaben, die zeigen, wie der DataFrame aussieht, sowie die Ergebnisse von describe. Weiß jemand, warum ich beim Beschreiben nicht alle Spalten zurückbekomme? Hat es etwas mit meiner Datei zu tun, die eine einfache CSV-Datei ist?

hist.head() 

    Year Month  Overall  Mobile 
0 2016 July 76,762,352 65,908,711 
1 2016 June 76,523,713 65,465,770 
2 2016 May 77,057,451 65,297,809 
3 2016 April 76,722,596 64,739,144 
4 2016 March 78,258,917 66,287,421 

hist.describe()  
       Year 
count 67.000000 
mean 2013.313433 
std  1.634931 
min 2011.000000 
25% 2012.000000 
50% 2014.000000 
75% 2015.000000 
max 2016.000000 

Antwort

4

Wenn der Datenrahmen mindestens eine numerische Spalte df.describe() beschreibt nur die numerische Spalte (n). Das bedeutet, dass Ihre anderen Spalten nicht als Zahlen behandelt werden. Sie können dies bestätigen, indem Sie df.dtypes eingeben (es wird das Objekt für die anderen Spalten zurückgeben).

Das Problem in Ihrem DataFrame ist das Tausendertrennzeichen. Sie können pd.read_csv(filename, sep=';', thousands=',') übergeben, um es richtig zu lesen. sep Teil ist nur eine Schätzung basierend auf dem Tausendertrennzeichen. Möglicherweise müssen Sie es basierend auf Ihrer Datei ändern.

+0

Danke Ich habe das versucht, aber es scheint auch nicht zu funktionieren. Ich würde gerne einen weiteren Screenshot hier posten, aber es sieht nicht so aus, als würde es mich lassen. hist.head() gibt mir 2016, Juli, "76,762,352", "65,908,171", "10,9 ... für eine Zeile, die nicht so aussehen soll. – youngchea

+0

Kannst du [edit] (http: // stackoverflow. com/posts/39352696/edit) – ayhan

+0

Ist das nicht das, was head() tut? – youngchea

Verwandte Themen