Me gusta pensar que no soy un idiota, pero tal vez estoy equivocado. ¿Alguien puede explicarme por qué esto no funciona? Puedo lograr los resultados deseados usando 'fusionar'. Pero finalmente necesito unirme al pandas
DataFrames
, así que necesito que este método funcione.Pandas: ¿simple 'join' no funciona?
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
Interesante. Entonces, parece que para obtener lo que quiero, tendré que realizar fusiones sucesivas, ya que 'merge' solo toma dos DataFrames. – Phil
Tuve el mismo problema y encontré esta respuesta. Es correcto. De 0.16.2 documentos: El método DataFrame.join relacionado, utiliza fusión internamente para las uniones index-on-index e index-on-column (s), pero se une a los índices de forma predeterminada en lugar de intentar unirse en columnas comunes (el comportamiento predeterminado para la fusión). –
jdmarino