Dołącz Dict do DataFrame w Pandach

Dolacz Dict Do Dataframe W Pandach



Omówimy, jak dołączyć słownik do istniejącej ramki danych Pandas DataFrame przy użyciu funkcji pandas.DataFrame.append() i pandas.concat() z przykładami. W tym przypadku słownik odwołuje się do pary klucz:wartość, tak że klucz odnosi się do istniejących etykiet kolumn obecnych w DataFrame, a wartości są dodawane w wierszu. Zobaczymy także przykłady dołączania wielu słowników do ramki danych Pandas.

Korzystanie z Pandas.DataFrame.Append

Funkcja pandas.DataFrame.append() służy do dołączania wierszy innej ramki DataFrame do istniejącej ramki DataFrame. Jeśli kolumny w istniejącej ramce DataFrame nie istnieją, inne kolumny DataFrame zostaną utworzone w istniejącej ramce DataFrame. Użyj tej funkcji w taki sposób, aby wiersz musiał zostać wstawiony do DataFrame poprzez dołączenie słownika.

Składnia :







Poniżej znajduje się rzeczywista składnia funkcji pandas.DataFrame.append():



pandy. Ramka danych . dodać ( Inny , ignorować_indeks , zweryfikować_integralność , sortować )
  1. Inny : Odnosi się do innej ramki danych, w której wiersze tej ramki danych są dołączane do istniejącej ramki danych. Jeśli chcesz dołączyć pojedynczy wiersz, jako parametr musisz przekazać słownik wartości.
  2. ignorować_indeks (domyślnie = False): Ten parametr jest używany podczas dołączania wierszy do ramki DataFrame, która już zawiera wiersze. Jeśli ma wartość „False”, dołączane są także istniejące indeksy wierszy. Jeśli ma wartość „True”, wiersze są oznaczone liczbami od 0 do n-1. Upewnij się, że ten parametr jest ustawiony na „True” podczas dołączania słownika do DataFrame. W przeciwnym razie zgłaszany jest typ błędu – „TypeError: Można dodać dyktando tylko wtedy, gdy ignorowanie_indeksu = True”.
  3. Zduplikowane indeksy możemy sprawdzić za pomocą parametru valid_integrity (domyślnie = False). Jeśli indeksy są zduplikowane, a wartość Verify_Integrity jest ustawiona na „True”, zwraca „ValueError: Indeksy mają nakładające się wartości”.
  4. Możliwe jest sortowanie kolumn, jeśli kolumny istniejącej ramki DataFrame i innej ramki DataFrame nie są wyrównane przy użyciu parametru sort, ustawiając go na „True” (domyślnie = False).

Przykład 1: Dołącz pojedynczy słownik

Utwórz ramkę danych Pandas z czterema kolumnami – „Nazwa_kampanii”, „Lokalizacja”, „Data rozpoczęcia” i „Budżet” – i trzema wierszami. Dołącz słownik do tej ramki danych.



import pandy

# Utwórz DataFrame - Kampania z 4 kolumnami i 3 wierszami
Kampania = pandy. Ramka danych ( [ [ „Obóz marketingowy” , 'Indie' , „01.12.2023” , 8000 ] ,
[ „Obóz sprzedażowy” , 'Włochy' , „25.01.2022” , 10000 ] ,
[ „Inny obóz” , 'USA' , „17.04.2023” , 2000 ] ] ,
kolumny = [ 'Nazwa kampanii' , 'Lokalizacja' , 'Data rozpoczęcia' , 'Budżet' ] )
wydrukować ( Kampania , ' \N ' )

# Dołącz pojedynczy wiersz
Kampania = Kampania. dodać ( { 'Nazwa kampanii' : „Obóz techniczny” , 'Lokalizacja' : 'USA' , 'Data rozpoczęcia' : „05.12.2023” , 'Budżet' : 2000 } , ignorować_indeks = PRAWDA )
wydrukować ( Kampania , ' \N ' )

Wyjście :





Widzimy, że słownik jest dołączony do ramki danych „Kampania”. Indeks tego nowego wiersza wynosi 3, ponieważ indeks jest ignorowany.



Przykład 2: Dołącz wiele słowników

Użyj tej samej ramki danych, która została utworzona w przykładzie 1 i dołącz trzy wiersze jednocześnie, używając funkcji pandas.DataFrame.append(). Ustaw parametr ignorowania indeksu na „True”.

import pandy

# Utwórz DataFrame - Kampania z 4 kolumnami i 3 wierszami
Kampania = pandy. Ramka danych ( [ [ „Obóz marketingowy” , 'Indie' , „01.12.2023” , 8000 ] ,
[ „Obóz sprzedażowy” , 'Włochy' , „25.01.2022” , 10000 ] ,
[ „Inny obóz” , 'USA' , „17.04.2023” , 2000 ] ] ,
kolumny = [ 'Nazwa kampanii' , 'Lokalizacja' , 'Data rozpoczęcia' , 'Budżet' ] )
wydrukować ( Kampania , ' \N ' )

Kampania = Kampania. dodać ( { 'Nazwa kampanii' : „Obóz techniczny” , 'Lokalizacja' : 'USA' , 'Data rozpoczęcia' : „05.12.2023” , 'Budżet' : 2000 } , ignorować_indeks = PRAWDA )
Kampania = Kampania. dodać ( { 'Nazwa kampanii' : „Obóz marketingowy” , 'Lokalizacja' : 'Indie' , 'Data rozpoczęcia' : „23.06.2023” , 'Budżet' : 9000 } , ignorować_indeks = PRAWDA )
Kampania = Kampania. dodać ( { 'Nazwa kampanii' : „Obóz sprzedażowy” , 'Lokalizacja' : 'Włochy' , 'Data rozpoczęcia' : „24.01.2023” , 'Budżet' : 1200 } , ignorować_indeks = PRAWDA )
wydrukować ( Kampania )

Wyjście :

Do istniejącej ramki DataFrame dołączane są jeden po drugim trzy wiersze z indeksami 3, 4 i 5.

Korzystanie z Pandas.Concat

Funkcja pandas.concat() łączy dwie lub więcej ramek danych wzdłuż wierszy lub kolumn. Musimy zatem przekształcić słownik w ramkę DataFrame i przekazać do tej funkcji dwie ramki DataFrame.

Składnia :

Dołącz słownik do istniejącej ramki DataFrame:

pandy. konkat ( [ Istniejąca ramka danych , Przekształcony_Słownik ] , = 0 , ignorować_indeks , zweryfikować_integralność )
  1. Jeśli oś = 0, konkatenacja odbywa się wzdłuż wierszy. Łączenie odbywa się wzdłuż kolumn, jeśli jest ustawione. Zastosowano niezbędne wielkie litery, ponieważ jest to podnagłówek. Dodano niezbędny artykuł dla zwięzłości.do 1.
  2. Indeks_ignoracji (domyślnie = False): Ten parametr jest używany podczas dołączania wierszy do ramki DataFrame, która już zawiera wiersze. Jeśli ma wartość „False”, dołączane są także istniejące indeksy wierszy. Jeśli ma wartość „True”, wiersze są oznaczone liczbami od 0 do n-1.
  3. Zduplikowane indeksy możemy sprawdzić za pomocą parametru valid_integrity (domyślnie = False). Jeśli indeksy są zduplikowane, a wartość Verify_Integrity jest ustawiona na „True”, zwraca „ValueError: Indeksy mają nakładające się wartości”.

Przykład 1: Dołącz pojedynczy słownik

Utwórz ramkę danych Pandas z czterema kolumnami – „Nazwa_kampanii”, „Lokalizacja”, „Data rozpoczęcia” i „Budżet” – i trzema wierszami. Używając funkcji pandas.concat(), dołącz jeden słownik (DataFrame) jako wiersz do tej ramki DataFrame.

import pandy


# Utwórz DataFrame - Kampania z 4 kolumnami i 3 wierszami
Kampania = pandy. Ramka danych ( [ [ „Obóz marketingowy” , 'Indie' , „01.12.2023” , 8000 ] ,
[ „Obóz sprzedażowy” , 'Włochy' , „25.01.2022” , 10000 ] ,
[ „Inny obóz” , 'USA' , „17.04.2023” , 2000 ] ] ,
kolumny = [ 'Nazwa kampanii' , 'Lokalizacja' , 'Data rozpoczęcia' , 'Budżet' ] )
wydrukować ( Kampania , ' \N ' )

słownik_z_DataFrame = pandy. Ramka danych ( [ { 'Nazwa kampanii' : „Obóz służby” , 'Lokalizacja' : 'USA' , 'Data rozpoczęcia' : „17.04.2023” , 'Budżet' : 1000 } ] )

# Dołącz pojedynczy wiersz
Kampania = pandy. konkat ( [ Kampania , słownik_z_DataFrame ] , = 0 )
wydrukować ( Kampania , ' \N ' )

Wyjście :

Widzimy, że słownik jest dołączony do ramki danych „Kampania”. Indeks tego nowego wiersza wynosi 0, ponieważ indeks nie jest ignorowany.

Przykład 2: Dołącz wiele słowników

Użyj poprzedniej ramki DataFrame i dołącz trzy słowniki (DataFrame), ignorując indeks.

import pandy


# Utwórz DataFrame - Kampania z 4 kolumnami i 3 wierszami
Kampania = pandy. Ramka danych ( [ [ „Obóz marketingowy” , 'Indie' , „01.12.2023” , 8000 ] ,
[ „Obóz sprzedażowy” , 'Włochy' , „25.01.2022” , 10000 ] ,
[ „Inny obóz” , 'USA' , „17.04.2023” , 2000 ] ] ,
kolumny = [ 'Nazwa kampanii' , 'Lokalizacja' , 'Data rozpoczęcia' , 'Budżet' ] )
wydrukować ( Kampania , ' \N ' )

słownik_z_DataFrame = pandy. Ramka danych ( [ { 'Nazwa kampanii' : „Obóz technologiczny” , 'Lokalizacja' : 'USA' , 'Data rozpoczęcia' : „17.05.2023” , 'Budżet' : 1000 } ,
{ 'Nazwa kampanii' : 'Służby socjalne' , 'Lokalizacja' : 'Japonia' , 'Data rozpoczęcia' : „17.04.2023” , 'Budżet' : 200 } ,
{ 'Nazwa kampanii' : „Obóz sprzedażowy” , 'Lokalizacja' : 'USA' , 'Data rozpoczęcia' : „18.04.2023” , 'Budżet' : 500 } ] )

# Dołącz wiele wierszy
Kampania = pandy. konkat ( [ Kampania , słownik_z_DataFrame ] , = 0 , ignorować_indeks = PRAWDA )
wydrukować ( Kampania , ' \N ' )

Wyjście :

Widzimy, że do ramki danych „Kampania” dołączone są trzy słowniki. Indeksy tych słowników to 3, 4 i 5, ponieważ parametr ignorowania indeksu jest ustawiony na „Fałsz”.

Wniosek

Pojedyncze/wiele słowników jest dołączanych do ramki DataFrame przy użyciu funkcji pandas.DataFrame.append() i pandas.concat(). Indeksy nowych wierszy mogą być unikalne, ustawiając parametr ignorowania indeksu na „True” w funkcji pandas.concat(). Podczas korzystania z funkcji pandas.DataFrame.append() ustaw parametr ignorowania indeksu na „True”. W przeciwnym razie zostanie zgłoszony TypeError.