Připojit Dict k DataFrame v Pandas

Pripojit Dict K Dataframe V Pandas



S příklady budeme diskutovat o tom, jak připojit slovník ke stávajícímu datovému rámci Pandas pomocí funkcí pandas.DataFrame.append() a pandas.concat(). Zde se slovník odkazuje na pár klíč:hodnota tak, že klíč odkazuje na existující popisky sloupců, které jsou přítomné v DataFrame, a hodnoty jsou přidány do řádku. Také uvidíme příklady, které připojují více slovníků k Pandas DataFrame.

Pomocí Pandas.DataFrame.Append

Funkce pandas.DataFrame.append() se používá k připojení řádků jiného DataFrame k existujícímu DataFrame. Pokud sloupce v existujícím DataFrame neexistují, ostatní sloupce DataFrame se vytvoří ve stávajícím DataFrame. Tuto funkci použijte tak, že řádek musí být vložen do DataFrame připojením slovníku.

Syntax :







Níže je uvedena skutečná syntaxe funkce pandas.DataFrame.append():



pandy. DataFrame . připojit ( jiný , ignorovat_index , ověřit_integritu , seřadit )
  1. jiný : Toto odkazuje na jiný DataFrame, ve kterém jsou řádky tohoto DataFrame připojeny k existujícímu DataFrame. Pokud chcete připojit jeden řádek, musíte jako parametr předat slovník hodnot.
  2. ignorovat_index (ve výchozím nastavení = False): Tento parametr se používá, když přidáváte řádky k DataFrame, který již má řádky. Pokud je „False“, jsou připojeny také existující indexy řádků. Pokud je „True“, jsou řádky označeny od 0 do n-1. Při přidávání slovníku do DataFrame se ujistěte, že je tento parametr nastaven na „True“. V opačném případě je vyvolán typ chyby – „TypeError: Může připojit diktát pouze v případě, že ignore_index=True“.
  3. Můžeme zkontrolovat duplicitní indexy pomocí parametru authentic_integrity (ve výchozím nastavení = False). Pokud jsou indexy duplicitní a prověřovací_integrita je nastavena na „True“, vrátí „ValueError: Indexy mají překrývající se hodnoty“.
  4. Je možné třídit sloupce, pokud sloupce existujícího DataFrame a jiného DataFrame nejsou zarovnány pomocí parametru řazení jeho nastavením na „True“ (výchozí = False).

Příklad 1: Připojte jeden slovník

Vytvořte Pandas DataFrame se čtyřmi sloupci – „Campaign_Name“, „Location“, „StartDate“ a „Budget“ – a třemi řádky. Připojte k tomuto DataFrame slovník.



import pandy

# Create DataFrame - Kampaň se 4 sloupci a 3 řádky
Kampaň = pandy. DataFrame ( [ [ 'Marketingový kemp' , 'Indie' , '01/12/2023' , 8000 ] ,
[ 'Sales Camp' , 'Itálie' , '01/25/2022' , 10 000 ] ,
[ 'Jiný tábor' , 'USA' , '04/17/2023' , 2000 ] ] ,
sloupců = [ 'Campaign_Name' , 'Umístění' , 'Datum zahájení' , 'Rozpočet' ] )
tisk ( Kampaň , ' \n ' )

# Připojit jeden řádek
Kampaň = Kampaň. připojit ( { 'Campaign_Name' : 'Technický tábor' , 'Umístění' : 'USA' , 'Datum zahájení' : '05/12/2023' , 'Rozpočet' : 2000 } , ignorovat_index = Skutečný )
tisk ( Kampaň , ' \n ' )

Výstup :





Vidíme, že slovník je připojen k datovému rámci „Campaign“. Index tohoto nového řádku je 3, protože index je ignorován.



Příklad 2: Připojit více slovníků

Použijte stejný DataFrame, který byl vytvořen v příkladu 1, a připojte tři řádky najednou pomocí funkce pandas.DataFrame.append(). Nastavte parametr ignore_index na „True“.

import pandy

# Create DataFrame - Kampaň se 4 sloupci a 3 řádky
Kampaň = pandy. DataFrame ( [ [ 'Marketingový kemp' , 'Indie' , '01/12/2023' , 8000 ] ,
[ 'Sales Camp' , 'Itálie' , '01/25/2022' , 10 000 ] ,
[ 'Jiný tábor' , 'USA' , '04/17/2023' , 2000 ] ] ,
sloupců = [ 'Campaign_Name' , 'Umístění' , 'Datum zahájení' , 'Rozpočet' ] )
tisk ( Kampaň , ' \n ' )

Kampaň = Kampaň. připojit ( { 'Campaign_Name' : 'Technický tábor' , 'Umístění' : 'USA' , 'Datum zahájení' : '05/12/2023' , 'Rozpočet' : 2000 } , ignorovat_index = Skutečný )
Kampaň = Kampaň. připojit ( { 'Campaign_Name' : 'Marketingový kemp' , 'Umístění' : 'Indie' , 'Datum zahájení' : '06/23/2023' , 'Rozpočet' : 9000 } , ignorovat_index = Skutečný )
Kampaň = Kampaň. připojit ( { 'Campaign_Name' : 'MSales camp' , 'Umístění' : 'Itálie' , 'Datum zahájení' : '01/24/2023' , 'Rozpočet' : 1200 } , ignorovat_index = Skutečný )
tisk ( Kampaň )

Výstup :

Ke stávajícímu DataFrame jsou postupně připojeny tři řádky se 3, 4 a 5 indexy.

Pomocí Pandas.Concat

Funkce pandas.concat() zřetězí dva nebo více datových rámců podél řádků nebo sloupců. Potřebujeme tedy transformovat slovník na DataFrame a předat této funkci dva DataFrames.

Syntax :

Připojte slovník k existujícímu DataFrame:

pandy. konkat ( [ Existing_DataFrame , Transformed_Dictionary ] , osa = 0 , ignorovat_index , ověřit_integritu )
  1. Pokud je osa = 0, zřetězení se provádí podél řad. Zřetězení se provádí podél sloupců, pokud je nastaveno Použitá nutná velká písmena, protože se jedná o podnadpis. Přidán nezbytný článek pro stručnost.k 1.
  2. Ignorovat_index (ve výchozím nastavení = False): Tento parametr se používá, když přidáváte řádky k DataFrame, který již má řádky. Pokud je „False“, jsou připojeny také existující indexy řádků. Pokud je „True“, jsou řádky označeny od 0 do n-1.
  3. Můžeme zkontrolovat duplicitní indexy pomocí parametru authentic_integrity (ve výchozím nastavení = False). Pokud jsou indexy duplicitní a prověřovací_integrita je nastavena na „True“, vrátí „ValueError: Indexy mají překrývající se hodnoty“.

Příklad 1: Připojte jeden slovník

Vytvořte Pandas DataFrame se čtyřmi sloupci – „Campaign_Name“, „Location“, „StartDate“ a „Budget“ – a třemi řádky. Pomocí funkce pandas.concat() připojte k tomuto DataFrame jeden slovník (DataFrame) jako řádek.

import pandy


# Create DataFrame - Kampaň se 4 sloupci a 3 řádky
Kampaň = pandy. DataFrame ( [ [ 'Marketingový kemp' , 'Indie' , '01/12/2023' , 8000 ] ,
[ 'Sales Camp' , 'Itálie' , '01/25/2022' , 10 000 ] ,
[ 'Jiný tábor' , 'USA' , '04/17/2023' , 2000 ] ] ,
sloupců = [ 'Campaign_Name' , 'Umístění' , 'Datum zahájení' , 'Rozpočet' ] )
tisk ( Kampaň , ' \n ' )

dictionary_from_DataFrame = pandy. DataFrame ( [ { 'Campaign_Name' : 'Servisní tábor' , 'Umístění' : 'USA' , 'Datum zahájení' : '04/17/2023' , 'Rozpočet' : 1000 } ] )

# Připojit jeden řádek
Kampaň = pandy. konkat ( [ Kampaň , dictionary_from_DataFrame ] , osa = 0 )
tisk ( Kampaň , ' \n ' )

Výstup :

Vidíme, že slovník je připojen k datovému rámci „Campaign“. Index tohoto nového řádku je 0, protože index není ignorován.

Příklad 2: Připojit více slovníků

Použijte předchozí DataFrame a připojte tři slovníky (DataFrame) ignorováním indexu.

import pandy


# Create DataFrame - Kampaň se 4 sloupci a 3 řádky
Kampaň = pandy. DataFrame ( [ [ 'Marketingový kemp' , 'Indie' , '01/12/2023' , 8000 ] ,
[ 'Sales Camp' , 'Itálie' , '01/25/2022' , 10 000 ] ,
[ 'Jiný tábor' , 'USA' , '04/17/2023' , 2000 ] ] ,
sloupců = [ 'Campaign_Name' , 'Umístění' , 'Datum zahájení' , 'Rozpočet' ] )
tisk ( Kampaň , ' \n ' )

dictionary_from_DataFrame = pandy. DataFrame ( [ { 'Campaign_Name' : 'Tech Camp' , 'Umístění' : 'USA' , 'Datum zahájení' : '05/17/2023' , 'Rozpočet' : 1000 } ,
{ 'Campaign_Name' : 'Sociální služby' , 'Umístění' : 'Japonsko' , 'Datum zahájení' : '04/17/2023' , 'Rozpočet' : 200 } ,
{ 'Campaign_Name' : 'Sales Camp' , 'Umístění' : 'USA' , 'Datum zahájení' : '04/18/2023' , 'Rozpočet' : 500 } ] )

# Připojte více řádků
Kampaň = pandy. konkat ( [ Kampaň , dictionary_from_DataFrame ] , osa = 0 , ignorovat_index = Skutečný )
tisk ( Kampaň , ' \n ' )

Výstup :

Vidíme, že k datovému rámci „Campaign“ jsou připojeny tři slovníky. Indexy těchto slovníků jsou 3, 4 a 5, protože parametr ignore_index je nastaven na „False“.

Závěr

Jednotlivé/vícenásobné slovníky jsou připojeny k DataFrame pomocí funkcí pandas.DataFrame.append() a pandas.concat(). Indexy nových řádků mohou být jedinečné nastavením parametru ignore_index na hodnotu „True“ ve funkci pandas.concat(). Při používání funkce pandas.DataFrame.append() nastavte parametr ignore_index na hodnotu „True“. V opačném případě se objeví TypeError.