Mam dwie ramki danych. Przykłady:Porównywanie dwóch ramek danych i uzyskiwanie różnic
df1:
Date Fruit Num Color
2013-11-24 Banana 22.1 Yellow
2013-11-24 Orange 8.6 Orange
2013-11-24 Apple 7.6 Green
2013-11-24 Celery 10.2 Green
df2:
Date Fruit Num Color
2013-11-24 Banana 22.1 Yellow
2013-11-24 Orange 8.6 Orange
2013-11-24 Apple 7.6 Green
2013-11-24 Celery 10.2 Green
2013-11-25 Apple 22.1 Red
2013-11-25 Orange 8.6 Orange
Każda ramka danych ma datę jako indeks. Obie ramki danych mają taką samą strukturę.
Co chcę zrobić, to porównać te dwie ramki danych i znaleźć, które wiersze są w df2, które nie są w df1. Chcę porównać datę (indeks) i pierwszą kolumnę (Banana, APple, itp.), Aby sprawdzić, czy istnieją w df2 vs df1.
Próbowałem następujące:
- Outputting difference in two Pandas dataframes side by side - highlighting the difference
- Comparing two pandas dataframes for differences
Na pierwszym podejściu otrzymuję ten błąd: "wyjątek mogę porównać tylko identycznie oznakowane obiekty DataFrame". Próbowałem usunąć Date jako indeks, ale otrzymałem ten sam błąd.
Na third approach otrzymuję potwierdzenie, że zwraca Fałsz, ale nie może dowiedzieć się, jak wyświetlić różne wiersze.
Wszelkie wskazówki byłyby mile widziane.
Jeśli to zrobić: http://www.cookbook-r.com/Manipulating_data/Renaming_columns_in_a_data_frame/ będzie pozbyć wyjątku „identycznie znakowanych OBIEKTÓW DataFrame”? –
Zmieniłem wiele nazw kolumn, aby spróbować obejść problem bez powodzenia. –
FWIW, zmieniłem nazwy kolumn na "a, b, c, d" na obu ramkach danych i otrzymam ten sam komunikat o błędzie. –