Chcę wykonać operację łączenia/scalania/dołączania na ramce danych z indeksem czasu.dołączanie lub scalanie z nadpisywaniem w pandach
Załóżmy, że mam df1
i chcę dodać do niego df2
. df2
może mieć mniej lub więcej kolumn i nakładających się indeksów. W przypadku wszystkich wierszy, w których indeksy są zgodne, jeśli df2
ma tę samą kolumnę co df1
, chcę, aby wartości df1
zostały nadpisane wartościami z df2
.
Jak mogę uzyskać żądany wynik?
Myślę, że to jest rzeczywiście to, czego chcę, wielkie dzięki. – saroele
Występuje problem z 'combine_first' - używanie go do łączenia trzech ramek danych o wielkości około 30 tysięcy wierszy przejmuje całą moją pamięć. Jakikolwiek sposób obejścia tego? – scry
Myślę, że byłoby o wiele bardziej intuicyjne, gdyby ta funkcja była częścią funkcji 'df.update' z opcjonalnym argumentem' join = 'outer'' (obecnie tylko 'left' jest zaimplementowany). W moim przypadku 'df2' (obliczone z' df1') ma o wiele mniej kolumn niż 'df1' (ale niektóre, które nie są w' df1'), i chcę zaktualizować 'df1' z obliczonymi wartościami tam, gdzie to możliwe plus dodatkowe kolumny. W tym celu myślę, że 'df1.update (df2, join = 'outer')' byłoby o wiele łatwiejsze do zrozumienia niż 'df1 = df2.combine_first (df1)'. PS. Jest to drobna sprzeczka, ale poza tym 'panda' jest prawie wyłącznie niesamowita! =) – Axel