Chciałbym scalić dwa DataFrames
i zachować indeks z pierwszej ramki jako indeks na scalonym zestawie danych. Jednak po scaleniu wynikowa ramka DataFrame ma indeks liczby całkowitej. Jak mogę określić, że chcę zachować indeks z lewej ramki danych?Jak zachować indeks podczas korzystania z pandy scalania
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 na przykład kodu, który może być łatwo reprodukowane
To musi być w pierwszej 10 najgłupszych rzeczy o pandach ... ... dlaczego utrata indeksu miała kiedykolwiek sens? – Corone