2017-10-22 1 views
0

Ich arbeite an einer Pandas DF Frage und ich habe Probleme beim Konvertieren einiger Pandas Daten in ein verwendbares Format, um ein Streudiagramm zu erstellen.Erstelle ein Streudiagramm von Pandas DataFrame

Hier ist der Code unten, bitte lassen Sie mich wissen, was ich falsch mache und wie ich es korrigieren kann vorwärts gehen. Ehrliche Kritik ist notwendig, da ich ein Anfänger bin.

# Import Data 
df = pd.read_csv(filepath + 'BaltimoreData.csv') 

df = df.dropna() 
print(df.head(20)) 
# These are two categories within the data 
df.plot(df['Bachelors degree'], df['Median Income']) 

# Plotting the Data 
df.plot(kind = 'scatter', x = 'Bachelor degree', y = 'Median Income') 
df.plot(kind = 'density') 
+3

den Code vergessen, wo Ihre Daten ist? Bitte drucke (df.head (20)) und poste hier seine Ausgabe. –

+0

Ich habe die Überschrift hinzugefügt, damit Sie die ersten 20 Datenzeilen sehen können. – Brandon

+0

Leider habe ich keinen Zugriff auf Ihren Computer, daher kann ich Ihre Daten nicht von Ihrem Dateipfad laden. Obwohl es scheint, dass Ihr Problem diesmal gelöst wurde, schauen Sie sich bitte an, wie Sie in Zukunft eine [mcve] bereitstellen können, die uns hilft, Ihnen bessere Antworten zu geben. –

Antwort

0

Einfach Grundstück x auf y als unten, wo df Ihre Datenrahmen ist und x und y sind Ihre abhängigen und unabhängigen Variablen:

import matplotlib.pyplot as plt 
import pandas 

plt.scatter(x=df['Bachelors degree'], y=df['Median Income']) 
plt.show() 
+0

Wenn ich das ausführe, erhalte ich die folgende Fehlermeldung: Konnte Zeichenfolge in Gleitkomma nicht konvertieren: '$ 37,678' – Brandon

+0

Nun haben Sie Median Income als String formatiert - read_csv erkennt das Dollarzeichen und nimmt an, dass Sie mit Zeichenfolgen arbeiten (zB Text). Sie können es einfach so ändern, dass es als Zahl in Ihrer CSV-Datei formatiert wird. – Johnnyh101

0

Sie können scatter plot von Pandas verwenden.

import pandas 
import matplotlib.pyplot as plt 
plt.style.use('ggplot') 
df.plot.scatter(x='Bachelors degree', y='Median Income'); 
plt.show() 
+0

Also machte ich einige Anpassungen an den Code, so dass es wie folgt aussieht: df.dropna (Achse = 0, wie = 'any') plt.style.use ('ggplot') df.plot.scatter (x = df ['Bachelor-Grad'], y = df ['Median Income']) plt.show() Allerdings wirft es mich immer noch den Fehler, dass es nicht mit Vektor mit NA/NaN-Werte indexieren kann. – Brandon