Używam ramek danych Pandas. Powiedzmy, że mam początkową ramkę danych D
. Wyodrębniam z niego dwie ramki danych w następujący sposób:
A = D[D.label == k]
B = D[D.label != k]
potem zmieniam etykietę na A
iB
A.label = 1
B.label = -1
Chcę połączyć A i B, aby mieć je jako jedną ramkę danych, coś w rodzaju operacji unii. Kolejność danych nie jest ważna. Jednak kiedy próbujemy A i B z D, zachowują swoje indeksy z D.
Możesz również użyć
pd.concat
, co jest szczególnie przydatne, gdy łączysz więcej niż dwie ramki danych:źródło
Pomyślałem o dodaniu tego tutaj na wypadek, gdyby ktoś uznał to za przydatne. @ostrokach już wspomniał, jak można scalać ramki danych w wierszach, czyli
Aby scalić kolumny, możesz użyć następującej składni:
źródło
Istnieje inne rozwiązanie w przypadku, gdy pracujesz z dużymi zbiorami danych i musisz połączyć wiele zestawów danych.
concat
może wymagać dużej wydajności, więc jeśli nie chcesz za każdym razem tworzyć nowego pliku df, możesz zamiast tego użyć funkcji list złożonych :(jak wskazano tutaj w dokumentach na dole tej sekcji):
źródło
Jeśli chcesz zaktualizować / zastąpić wartości pierwszej ramki
df1
danych wartościami drugiej ramki danychdf2
. możesz to zrobić, wykonując następujące czynności -Krok 1: Ustaw indeks pierwszej ramki danych (df1)
Krok 2: Ustaw indeks drugiej ramki danych (df2)
i na koniec zaktualizuj ramkę danych za pomocą następującego fragmentu kodu -
źródło
1. dataFrame
wynik:-
2nd dataFrame
wynik:-
Połączyć
Czek
wynik:-
źródło