2017-12-07 2 views
0

Ich bin brandneu innerhalb der Gemeinschaft, so hoffe ich, dass Sie Geduld ein wenig zahlen. Ich versuche zwei Datasets zusammenzuführen, indem ich einen inneren Join für die Felder "Postleitzahl" und "Datum" verwende. Der orgininal Code würde wie folgt sein:Python Merge Pandas Datasets über innere Verbindung mit zwei Feldern

Datapump = pd.merge(hack, health, how='inner', left_on=['Date', 'CP'], right_on=['Creation', 'cp']) 

Aber der Punkt ist, dass ich einen leeren Datensatz erhalten, wann immer ich versuchte, einen Kopf und am schlimmsten Fehler in Fall auszuführen, um eine Probe durchzuführen: So habe ich gesetzt als Indexiert das Feld 'Date' für Hack und das Feld 'Creation' für Health. Dann gehe ich zum Join.

Leider brauche ich auch die Feldpostleitzahl. Also habe ich eine andere an dem folgenden Punkt beitreten tut Datapump = pd.merge(hack, health, how='inner', left_on=['CP'], right_on=['cp'])

Jetzt kann ich die Probe bekommen und den Kopf, aber alles geht seltsam nach mir, vor allem, wenn ich die Anzahl der Einträge des neuen Datensatz zu sehen:

<class 'pandas.core.frame.DataFrame'> 

Int64Index: 803.206 Einträge, 0-803.205 Datenspalten (insgesamt 15 Säulen): CP 803.206 nicht-null-Objekt Tipo contaminante 803.206 nicht-null-int64 Valor 803.206 nicht-null-float64 Verifiziert 803.206 nicht-null-Objekt nombre 803.206 Nicht-Null-Objekt edad 801.296 Nicht-Null-Objekt cp 803.206 Nicht-Null-Objekt patologia 802.387 Nicht-Null-Objekt erstellt 803.206 nicht-null datetime64 [ns] Edad_Cat 786.829 Nicht-Null-Kategorie Dauer 772.661 nicht-null timedelta64 [ns] DURATION_SECONDS 772.661 nicht-null-float64 weekdays_created 803.206 nicht-null-int64 Monat 803.206 nicht-null-float64 cat_month 803.206 nicht-null-int64 dtypes: Kategorie (1), datetime64ns, float64 (3), int64 (3) , Objekt (6), timedelta64ns Speichernutzung: 92.7 + MB

Eigentlich hatte die Gesundheit noch 9000 Einträge und hackte etwa 6000 Einträge. Es kann nicht sein, dass ich einen Datensatz von 803.206 Einträgen bekomme, indem ich einen inneren Join durchführe.

Wie kann ich diesen inneren Join so machen, dass er ein sinnvolles und vernünftiges Ergebnis liefert?

Vielen Dank für die Geduld.

Andrea

+1

bieten einige Zeilen in den Datenrahmen, um Ihr Problem zu reproduzieren – skrubber

Antwort

0

schließlich konnte ich das Problem lösen. Das Problem war auf ein Problem innerhalb des Datenrahmens zurückzuführen. Ich öffne die orginial CSV-Datei und manuell bereinigt ich die problematischen Zeilen. Dann importiere ich die neue Datei neu und konnte den Join durchführen. Grüße, Andrea

+0

Problem ist geschlossen – user9067215

Verwandte Themen