Me gustaría fusionar dos DataFrames
, y mantener el índice del primer fotograma como el índice en el conjunto de datos combinado. Sin embargo, cuando realizo la fusión, el DataFrame resultante tiene un índice entero. ¿Cómo puedo especificar que deseo mantener el índice del marco de datos izquierdo?Cómo mantener el índice al usar pandas fusionar
In [4]: a = pd.DataFrame({'col1': {'a': 1, 'b': 2, 'c': 3},
'to_merge_on': {'a': 1, 'b': 3, 'c': 4}})
In [5]: b = pd.DataFrame({'col2': {0: 1, 1: 2, 2: 3},
'to_merge_on': {0: 1, 1: 3, 2: 5}})
In [6]: a
Out[6]:
col1 to_merge_on
a 1 1
b 2 3
c 3 4
In [7]: b
Out[7]:
col2 to_merge_on
0 1 1
1 2 3
2 3 5
In [8]: a.merge(b, how='left')
Out[8]:
col1 to_merge_on col2
0 1 1 1.0
1 2 3 2.0
2 3 4 NaN
In [9]: _.index
Out[9]: Int64Index([0, 1, 2], dtype='int64')
EDIT: Switched a ejemplo de código que puede ser reproducida fácilmente
Esto tiene que estar en el top 10 de las cosas más tontas sobre los pandas ... ... ¿por qué la pérdida del índice tendría alguna vez sentido? – Corone