Pripojte Dict k DataFrame v Pandas

Pripojte Dict K Dataframe V Pandas



Budeme diskutovať o tom, ako pridať slovník k existujúcemu Pandas DataFrame pomocou funkcií pandas.DataFrame.append() a pandas.concat() s príkladmi. Tu sa slovník odvoláva na pár kľúč:hodnota tak, že kľúč odkazuje na existujúce označenia stĺpcov, ktoré sú prítomné v DataFrame, a hodnoty sa pridávajú do riadku. Tiež uvidíme príklady, ktoré pripájajú viacero slovníkov k Pandas DataFrame.

Pomocou Pandas.DataFrame.Append

Funkcia pandas.DataFrame.append() sa používa na pripojenie riadkov iného DataFrame k existujúcemu DataFrame. Ak stĺpce v existujúcom DataFrame neexistujú, ostatné stĺpce DataFrame sa vytvoria v existujúcom DataFrame. Túto funkciu použite tak, že riadok sa musí vložiť do DataFrame pripojením slovníka.

Syntax :







Nasleduje skutočná syntax funkcie pandas.DataFrame.append():



pandy. DataFrame . priložiť ( iné , ignorovať_index , over_integrity , triediť )
  1. iné : Toto odkazuje na iný DataFrame, v ktorom sú riadky tohto DataFrame pripojené k existujúcemu DataFrame. Ak chcete pripojiť jeden riadok, musíte zadať ako parameter slovník hodnôt.
  2. ignorovať_index (predvolene = False): Tento parameter sa používa, keď pridávate riadky do DataFrame, ktorý už má riadky. Ak je „False“, pridajú sa aj indexy existujúcich riadkov. Ak je „True“, riadky sú označené od 0 do n-1. Pri pridávaní slovníka do DataFrame sa uistite, že je tento parameter nastavený na „True“. V opačnom prípade sa objaví typ chyby – „TypeError: Môže pridať diktát, len ak ignore_index=True“.
  3. Môžeme skontrolovať duplicitné indexy pomocou parametra authentic_integrity (štandardne = False). Ak sú indexy duplicitné a parameter authentic_integrity je nastavený na hodnotu „True“, vráti „Chyba hodnoty: Indexy majú prekrývajúce sa hodnoty“.
  4. Je možné triediť stĺpce, ak stĺpce existujúceho DataFrame a iného DataFrame nie sú zarovnané pomocou parametra zoradenia nastavením na „True“ (štandardne = False).

Príklad 1: Pripojte jeden slovník

Vytvorte Pandas DataFrame so štyrmi stĺpcami – „Campaign_Name“, „Location“, „StartDate“ a „Budget“ – a tromi riadkami. Pripojte slovník k tomuto DataFrame.



importovať pandy

# Create DataFrame - Kampaň so 4 stĺpcami a 3 riadkami
kampaň = pandy. DataFrame ( [ [ 'Marketing Camp' , 'India' , '01/12/2023' , 8000 ] ,
[ „Sales Camp“ , 'Taliansko' , '01/25/2022' , 10 000 ] ,
[ 'Iný tábor' , 'USA' , '04/17/2023' , 2000 ] ] ,
stĺpci = [ 'Campaign_Name' , 'miesto' , 'Dátum začiatku' , 'rozpočet' ] )
vytlačiť ( kampaň , ' \n ' )

# Pripojiť jeden riadok
kampaň = kampaň. priložiť ( { 'Campaign_Name' : 'Technický tábor' , 'miesto' : 'USA' , 'Dátum začiatku' : '05/12/2023' , 'rozpočet' : 2000 } , ignorovať_index = Pravda )
vytlačiť ( kampaň , ' \n ' )

Výkon :





Vidíme, že slovník je pripojený k dátovému rámcu „Campaign“. Index tohto nového riadku je 3, pretože index sa ignoruje.



Príklad 2: Pripojte viacero slovníkov

Použite rovnaký DataFrame, ktorý je vytvorený v Príklade 1 a pripojte tri riadky naraz pomocou funkcie pandas.DataFrame.append(). Nastavte parameter ignore_index na hodnotu „True“.

importovať pandy

# Create DataFrame - Kampaň so 4 stĺpcami a 3 riadkami
kampaň = pandy. DataFrame ( [ [ 'Marketing Camp' , 'India' , '01/12/2023' , 8000 ] ,
[ „Sales Camp“ , 'Taliansko' , '01/25/2022' , 10 000 ] ,
[ 'Iný tábor' , 'USA' , '04/17/2023' , 2000 ] ] ,
stĺpci = [ 'Campaign_Name' , 'miesto' , 'Dátum začiatku' , 'rozpočet' ] )
vytlačiť ( kampaň , ' \n ' )

kampaň = kampaň. priložiť ( { 'Campaign_Name' : 'Technický tábor' , 'miesto' : 'USA' , 'Dátum začiatku' : '05/12/2023' , 'rozpočet' : 2000 } , ignorovať_index = Pravda )
kampaň = kampaň. priložiť ( { 'Campaign_Name' : 'Marketingový tábor' , 'miesto' : 'India' , 'Dátum začiatku' : '06/23/2023' , 'rozpočet' : 9000 } , ignorovať_index = Pravda )
kampaň = kampaň. priložiť ( { 'Campaign_Name' : 'MSales camp' , 'miesto' : 'Taliansko' , 'Dátum začiatku' : '01/24/2023' , 'rozpočet' : 1200 } , ignorovať_index = Pravda )
vytlačiť ( kampaň )

Výkon :

Tri riadky sú pripojené jeden po druhom s 3, 4 a 5 indexmi k existujúcemu DataFrame.

Pomocou Pandas.Concat

Funkcia pandas.concat() zreťazí dva alebo viac dátových rámcov pozdĺž riadkov alebo stĺpcov. Takže musíme transformovať slovník na DataFrame a odovzdať dva DataFrames tejto funkcii.

Syntax :

Pripojte slovník k existujúcemu DataFrame:

pandy. konkat ( [ Existing_DataFrame , Transformed_Dictionary ] , os = 0 , ignorovať_index , over_integrity )
  1. Ak je os = 0, zreťazenie sa vykoná pozdĺž riadkov. Reťazenie sa vykonáva pozdĺž stĺpcov, ak je nastavené Použitá potrebná kapitalizácia, pretože ide o podnadpis. Pridaný potrebný článok pre stručnosť.k 1.
  2. Ignorovať_index (štandardne = False): Tento parameter sa používa, keď pridávate riadky do DataFrame, ktorý už má riadky. Ak je „False“, pridajú sa aj indexy existujúcich riadkov. Ak je „True“, riadky sú označené od 0 do n-1.
  3. Môžeme skontrolovať duplicitné indexy pomocou parametra authentic_integrity (štandardne = False). Ak sú indexy duplicitné a parameter authentic_integrity je nastavený na hodnotu „True“, vráti „Chyba hodnoty: Indexy majú prekrývajúce sa hodnoty“.

Príklad 1: Pripojte jeden slovník

Vytvorte Pandas DataFrame so štyrmi stĺpcami – „Campaign_Name“, „Location“, „StartDate“ a „Budget“ – a tromi riadkami. Pomocou funkcie pandas.concat() pripojte jeden slovník (DataFrame) ako riadok k tomuto DataFrame.

importovať pandy


# Create DataFrame - Kampaň so 4 stĺpcami a 3 riadkami
kampaň = pandy. DataFrame ( [ [ 'Marketing Camp' , 'India' , '01/12/2023' , 8000 ] ,
[ „Sales Camp“ , 'Taliansko' , '01/25/2022' , 10 000 ] ,
[ 'Iný tábor' , 'USA' , '04/17/2023' , 2000 ] ] ,
stĺpci = [ 'Campaign_Name' , 'miesto' , 'Dátum začiatku' , 'rozpočet' ] )
vytlačiť ( kampaň , ' \n ' )

dictionary_from_DataFrame = pandy. DataFrame ( [ { 'Campaign_Name' : 'Servisný tábor' , 'miesto' : 'USA' , 'Dátum začiatku' : '04/17/2023' , 'rozpočet' : 1000 } ] )

# Pripojiť jeden riadok
kampaň = pandy. konkat ( [ kampaň , dictionary_from_DataFrame ] , os = 0 )
vytlačiť ( kampaň , ' \n ' )

Výkon :

Vidíme, že slovník je pripojený k dátovému rámcu „Campaign“. Index tohto nového riadku je 0, pretože index nie je ignorovaný.

Príklad 2: Pripojte viacero slovníkov

Použite predchádzajúci DataFrame a pridajte tri slovníky (DataFrame) ignorovaním indexu.

importovať pandy


# Create DataFrame - Kampaň so 4 stĺpcami a 3 riadkami
kampaň = pandy. DataFrame ( [ [ 'Marketing Camp' , 'India' , '01/12/2023' , 8000 ] ,
[ „Sales Camp“ , 'Taliansko' , '01/25/2022' , 10 000 ] ,
[ 'Iný tábor' , 'USA' , '04/17/2023' , 2000 ] ] ,
stĺpci = [ 'Campaign_Name' , 'miesto' , 'Dátum začiatku' , 'rozpočet' ] )
vytlačiť ( kampaň , ' \n ' )

dictionary_from_DataFrame = pandy. DataFrame ( [ { 'Campaign_Name' : „Tech Camp“ , 'miesto' : 'USA' , 'Dátum začiatku' : '05/17/2023' , 'rozpočet' : 1000 } ,
{ 'Campaign_Name' : 'Sociálne služby' , 'miesto' : 'Japonsko' , 'Dátum začiatku' : '04/17/2023' , 'rozpočet' : 200 } ,
{ 'Campaign_Name' : „Sales Camp“ , 'miesto' : 'USA' , 'Dátum začiatku' : '04/18/2023' , 'rozpočet' : 500 } ] )

# Pripojte viacero riadkov
kampaň = pandy. konkat ( [ kampaň , dictionary_from_DataFrame ] , os = 0 , ignorovať_index = Pravda )
vytlačiť ( kampaň , ' \n ' )

Výkon :

Vidíme, že k dátovému rámcu „Campaign“ sú pripojené tri slovníky. Indexy týchto slovníkov sú 3, 4 a 5, pretože parameter ignore_index je nastavený na „False“.

Záver

Jednoduché/viacnásobné slovníky sú pripojené k DataFrame pomocou funkcií pandas.DataFrame.append() a pandas.concat(). Indexy nových riadkov môžu byť jedinečné nastavením parametra ignore_index na hodnotu „True“ vo funkcii pandas.concat(). Pri používaní funkcie pandas.DataFrame.append() nastavte parameter ignore_index na hodnotu „True“. V opačnom prípade sa objaví TypeError.