Dodaj Dict v DataFrame v Pandas

Dodaj Dict V Dataframe V Pandas



Razpravljali bomo o tem, kako dodati slovar v obstoječi Pandas DataFrame z uporabo funkcij pandas.DataFrame.append() in pandas.concat() s primeri. Tu se slovar nanaša na par ključ:vrednost, tako da se ključ nanaša na obstoječe oznake stolpcev, ki so prisotne v DataFrame, vrednosti pa so dodane v vrstici. Videli bomo tudi primere, ki v Pandas DataFrame dodajo več slovarjev.

Uporaba Pandas.DataFrame.Append

Funkcija pandas.DataFrame.append() se uporablja za dodajanje vrstic drugega DataFrame obstoječemu DataFrame. Če stolpci v obstoječem DataFrameu ne obstajajo, se drugi stolpci DataFrame ustvarijo v obstoječem DataFrameu. Uporabite to funkcijo tako, da je treba vrstico vstaviti v DataFrame z dodajanjem slovarja.

Sintaksa :







Sledi dejanska sintaksa funkcije pandas.DataFrame.append():



pande. DataFrame . priložiti ( drugo , ignore_index , verify_integrity , vrsta )
  1. drugo : To se nanaša na drug DataFrame, v katerem so vrstice tega DataFrame dodane obstoječemu DataFrame. Če želite dodati eno vrstico, morate kot parameter posredovati slovar vrednosti.
  2. ignore_index (privzeto = False): Ta parameter se uporabi, ko dodajate vrstice v DataFrame, ki že ima vrstice. Če je »False«, so dodani tudi obstoječi indeksi vrstic. Če je »True«, so vrstice označene od 0 do n-1. Med dodajanjem slovarja v DataFrame se prepričajte, da je ta parameter nastavljen na »True«. V nasprotnem primeru se sproži vrsta napake – »TypeError: dikt lahko doda samo, če je ignore_index=True«.
  3. Podvojene indekse lahko preverimo s parametrom verify_integrity (privzeto = False). Če so indeksi podvojeni in je verify_integrity nastavljen na »True«, vrne »ValueError: Indeksi imajo prekrivajoče se vrednosti«.
  4. Stolpce je mogoče razvrstiti, če stolpci obstoječega okvira DataFrame in drugega okvira podatkov niso poravnani s parametrom za razvrščanje, tako da ga nastavite na »True« (privzeto = False).

1. primer: pripnite en sam slovar

Ustvarite Pandas DataFrame s štirimi stolpci – »Campaign_Name«, »Location«, »StartDate« in »Budget« – in tremi vrsticami. Dodajte slovar temu DataFrame.



uvoz pande

# Ustvari DataFrame - Kampanja s 4 stolpci in 3 vrsticami
Kampanja = pande. DataFrame ( [ [ 'Marketinški kamp' , 'Indija' , '01/12/2023' , 8000 ] ,
[ 'Sales Camp' , 'Italija' , '25.1.2022' , 10000 ] ,
[ 'Other Camp' , 'ZDA' , '17. 4. 2023' , 2000 ] ] ,
stolpce = [ 'Campaign_Name' , 'Lokacija' , 'Začetni datum' , 'Proračun' ] )
tiskanje ( Kampanja , ' \n ' )

# Dodaj eno vrstico
Kampanja = Kampanja. priložiti ( { 'Campaign_Name' : 'Tehnični kamp' , 'Lokacija' : 'ZDA' , 'Začetni datum' : '05/12/2023' , 'Proračun' : 2000 } , ignore_index = Prav )
tiskanje ( Kampanja , ' \n ' )

Izhod :





Vidimo lahko, da je slovar pripet DataFrameu »Campaign«. Indeks te nove vrstice je 3, ker je indeks prezrt.



2. primer: pripnite več slovarjev

Uporabite isti DataFrame, ki je bil ustvarjen v primeru 1, in dodajte tri vrstice naenkrat s funkcijo pandas.DataFrame.append(). Nastavite parameter ignore_index na »True«.

uvoz pande

# Ustvari DataFrame - Kampanja s 4 stolpci in 3 vrsticami
Kampanja = pande. DataFrame ( [ [ 'Marketinški kamp' , 'Indija' , '01/12/2023' , 8000 ] ,
[ 'Sales Camp' , 'Italija' , '25.1.2022' , 10000 ] ,
[ 'Other Camp' , 'ZDA' , '17. 4. 2023' , 2000 ] ] ,
stolpce = [ 'Campaign_Name' , 'Lokacija' , 'Začetni datum' , 'Proračun' ] )
tiskanje ( Kampanja , ' \n ' )

Kampanja = Kampanja. priložiti ( { 'Campaign_Name' : 'Tehnični kamp' , 'Lokacija' : 'ZDA' , 'Začetni datum' : '05/12/2023' , 'Proračun' : 2000 } , ignore_index = Prav )
Kampanja = Kampanja. priložiti ( { 'Campaign_Name' : 'Marketinški kamp' , 'Lokacija' : 'Indija' , 'Začetni datum' : '23.6.2023' , 'Proračun' : 9000 } , ignore_index = Prav )
Kampanja = Kampanja. priložiti ( { 'Campaign_Name' : 'MSales camp' , 'Lokacija' : 'Italija' , 'Začetni datum' : '24.1.2023' , 'Proračun' : 1200 } , ignore_index = Prav )
tiskanje ( Kampanja )

Izhod :

Tri vrstice so ena za drugo dodane z indeksi 3, 4 in 5 obstoječemu DataFrame.

Uporaba Pandas.Concat

Funkcija pandas.concat() združi dva ali več DataFrames vzdolž vrstic ali stolpcev. Torej moramo slovar preoblikovati v DataFrame in tej funkciji posredovati dva DataFramea.

Sintaksa :

Dodajte slovar obstoječemu DataFrame:

pande. concat ( [ Existing_DataFrame , Transformed_Dictionary ] , os = 0 , ignore_index , verify_integrity )
  1. Če je os = 0, se veriženje izvede vzdolž vrstic. Združevanje se izvede vzdolž stolpcev, če je nastavljena Uporabljena potrebna uporaba velikih začetnic, ker je to podnaslov. Dodan potreben članek za kratkost v 1.
  2. Ignore_index (privzeto = False): Ta parameter se uporabi, ko dodajate vrstice v DataFrame, ki že ima vrstice. Če je »False«, so dodani tudi obstoječi indeksi vrstic. Če je »True«, so vrstice označene od 0 do n-1.
  3. Podvojene indekse lahko preverimo s parametrom verify_integrity (privzeto = False). Če so indeksi podvojeni in je verify_integrity nastavljen na »True«, vrne »ValueError: Indeksi imajo prekrivajoče se vrednosti«.

1. primer: pripnite en sam slovar

Ustvarite Pandas DataFrame s štirimi stolpci – »Campaign_Name«, »Location«, »StartDate« in »Budget« – in tremi vrsticami. S funkcijo pandas.concat() dodajte en slovar (DataFrame) kot vrstico v ta DataFrame.

uvoz pande


# Ustvari DataFrame - Kampanja s 4 stolpci in 3 vrsticami
Kampanja = pande. DataFrame ( [ [ 'Marketinški kamp' , 'Indija' , '01/12/2023' , 8000 ] ,
[ 'Sales Camp' , 'Italija' , '25.1.2022' , 10000 ] ,
[ 'Other Camp' , 'ZDA' , '17. 4. 2023' , 2000 ] ] ,
stolpce = [ 'Campaign_Name' , 'Lokacija' , 'Začetni datum' , 'Proračun' ] )
tiskanje ( Kampanja , ' \n ' )

slovar_iz_podatkovnega okvira = pande. DataFrame ( [ { 'Campaign_Name' : 'Service Camp' , 'Lokacija' : 'ZDA' , 'Začetni datum' : '17. 4. 2023' , 'Proračun' : 1000 } ] )

# Dodaj eno vrstico
Kampanja = pande. concat ( [ Kampanja , slovar_iz_podatkovnega okvira ] , os = 0 )
tiskanje ( Kampanja , ' \n ' )

Izhod :

Vidimo lahko, da je slovar pripet DataFrameu »Campaign«. Indeks te nove vrstice je 0, ker indeks ni prezrt.

2. primer: pripnite več slovarjev

Uporabite prejšnji DataFrame in dodajte tri slovarje (DataFrame), tako da prezrete indeks.

uvoz pande


# Ustvari DataFrame - Kampanja s 4 stolpci in 3 vrsticami
Kampanja = pande. DataFrame ( [ [ 'Marketinški kamp' , 'Indija' , '01/12/2023' , 8000 ] ,
[ 'Sales Camp' , 'Italija' , '25.1.2022' , 10000 ] ,
[ 'Other Camp' , 'ZDA' , '17. 4. 2023' , 2000 ] ] ,
stolpce = [ 'Campaign_Name' , 'Lokacija' , 'Začetni datum' , 'Proračun' ] )
tiskanje ( Kampanja , ' \n ' )

slovar_iz_podatkovnega okvira = pande. DataFrame ( [ { 'Campaign_Name' : 'Tech Camp' , 'Lokacija' : 'ZDA' , 'Začetni datum' : '17.05.2023' , 'Proračun' : 1000 } ,
{ 'Campaign_Name' : 'Socialne storitve' , 'Lokacija' : 'Japonska' , 'Začetni datum' : '17. 4. 2023' , 'Proračun' : 200 } ,
{ 'Campaign_Name' : 'Sales Camp' , 'Lokacija' : 'ZDA' , 'Začetni datum' : '18.4.2023' , 'Proračun' : 500 } ] )

# Pripni več vrstic
Kampanja = pande. concat ( [ Kampanja , slovar_iz_podatkovnega okvira ] , os = 0 , ignore_index = Prav )
tiskanje ( Kampanja , ' \n ' )

Izhod :

Vidimo lahko, da so trije slovarji dodani podatkovnemu okviru »Campaign«. Indeksi teh slovarjev so 3, 4 in 5, ker je parameter ignore_index nastavljen na »False«.

Zaključek

En sam/več slovarjev je pripet DataFrame s funkcijama pandas.DataFrame.append() in pandas.concat(). Indeksi novih vrstic so lahko edinstveni, tako da parameter ignore_index nastavite na »True« v funkciji pandas.concat(). Med uporabo funkcije pandas.DataFrame.append() nastavite parameter ignore_index na »True«. V nasprotnem primeru se sproži TypeError.