Ich denke, ich bin kein Idiot, aber vielleicht irre ich mich. Kann mir jemand erklären, warum das nicht funktioniert? Mit 'merge' kann ich die gewünschten Ergebnisse erzielen. Aber ich muss schließlich mehrere pandas
DataFrames
verbinden, so muss ich diese Methode arbeiten.Pandas: einfach 'Join' funktioniert nicht?
In [2]: left = pandas.DataFrame({'ST_NAME': ['Oregon', 'Nebraska'], 'value': [4.685, 2.491]})
In [3]: right = pandas.DataFrame({'ST_NAME': ['Oregon', 'Nebraska'], 'value2': [6.218, 0.001]})
In [4]: left.join(right, on='ST_NAME', lsuffix='_left', rsuffix='_right')
Out[4]:
ST_NAME_left value ST_NAME_right value2
0 Oregon 4.685 NaN NaN
1 Nebraska 2.491 NaN NaN
Interessant. Es sieht so aus, als müsste ich, um zu bekommen, was ich will, aufeinanderfolgende Merges durchführen, da 'merge' nur zwei DataFrames braucht. – Phil
Ich hatte das gleiche Problem und fand diese Antwort. Es ist richtig. Von der 0.16.2-Dokumentation: Die zugehörige DataFrame.join-Methode verwendet merge intern für die Index-on-index- und index-on-column-Joins, verbindet jedoch standardmäßig Indizes, anstatt zu versuchen, gemeinsame Spalten zu verwenden (das Standardverhalten für die Zusammenführung). –
jdmarino