Lägg till Dict till DataFrame i Pandas

Lagg Till Dict Till Dataframe I Pandas



Vi kommer att diskutera hur man lägger till en ordbok till den befintliga Pandas DataFrame med hjälp av funktionerna pandas.DataFrame.append() och pandas.concat() med exempel. Här hänvisar ordboken till nyckel:värde-paret så att nyckeln hänvisar till befintliga kolumnetiketter som finns i DataFrame och värdena läggs till i en rad. Vi kommer också att se exemplen som lägger till flera ordböcker till Pandas DataFrame.

Använda Pandas.DataFrame.Append

Funktionen pandas.DataFrame.append() används för att lägga till raderna i en annan DataFrame till den befintliga DataFrame. Om kolumnerna i den befintliga DataFrame inte finns skapas de andra DataFrame-kolumnerna i den befintliga DataFrame. Använd denna funktion på ett sådant sätt att raden måste infogas i DataFrame genom att lägga till ordboken.

Syntax :







Följande är den faktiska syntaxen för funktionen pandas.DataFrame.append():



pandor. DataFrame . bifoga ( Övrig , ignore_index , verifiera_integritet , sortera )
  1. Övrig : Detta hänvisar till en annan DataFrame där raderna i denna DataFrame läggs till den befintliga DataFrame. Om du vill lägga till en enda rad måste du skicka en ordlista med värden som parameter.
  2. ignore_index (som standard = False): Denna parameter används när du lägger till rader till DataFrame som redan har rader. Om det är 'False' läggs även de befintliga radindexen till. Om det är 'True' är raderna märkta från 0 till n-1. Se till att denna parameter är inställd på 'True' när du lägger till en ordbok till DataFrame. Annars uppstår en feltyp – 'TypeError: Kan bara lägga till ett dikt om ignore_index=True'.
  3. Vi kan söka efter dubbletter av index med hjälp av parametern verify_integrity (som standard = False). Om indexen är dubbletter och verify_integrity är satt till 'True', returnerar det 'ValueError: Index har överlappande värden'.
  4. Det är möjligt att sortera kolumnerna om kolumnerna i den befintliga DataFrame och en annan DataFrame inte är justerade med hjälp av sorteringsparametern genom att ställa in den på 'True' (som standard = False).

Exempel 1: Lägg till en enda ordbok

Skapa en Pandas DataFrame med fyra kolumner – “Campaign_Name”, “Location”, “StartDate” och “Budget” – och tre rader. Lägg till en ordbok till denna DataFrame.



importera pandor

# Skapa DataFrame - Kampanj med 4 kolumner och 3 rader
Kampanj = pandor. DataFrame ( [ [ 'Marknadsföringsläger' , 'Indien' , '01/12/2023' , 8000 ] ,
[ 'Säljläger' , 'Italien' , '01/25/2022' , 10 000 ] ,
[ 'Annat läger' , 'USA' , '04/17/2023' , 2000 ] ] ,
kolumner = [ 'Kampanj namn' , 'Plats' , 'Start datum' , 'Budget' ] )
skriva ut ( Kampanj , ' \n ' )

# Lägg till en rad
Kampanj = Kampanj. bifoga ( { 'Kampanj namn' : 'Tekniskt läger' , 'Plats' : 'USA' , 'Start datum' : '05/12/2023' , 'Budget' : 2000 } , ignore_index = Sann )
skriva ut ( Kampanj , ' \n ' )

Produktion :





Vi kan se att ordboken är bifogad till 'Campaign' DataFrame. Indexet för denna nya rad är 3 eftersom indexet ignoreras.



Exempel 2: Lägg till flera ordböcker

Använd samma DataFrame som skapades under exempel 1 och lägg till tre rader åt gången med funktionen pandas.DataFrame.append(). Ställ in parametern ignore_index till 'True'.

importera pandor

# Skapa DataFrame - Kampanj med 4 kolumner och 3 rader
Kampanj = pandor. DataFrame ( [ [ 'Marknadsföringsläger' , 'Indien' , '01/12/2023' , 8000 ] ,
[ 'Säljläger' , 'Italien' , '01/25/2022' , 10 000 ] ,
[ 'Annat läger' , 'USA' , '04/17/2023' , 2000 ] ] ,
kolumner = [ 'Kampanj namn' , 'Plats' , 'Start datum' , 'Budget' ] )
skriva ut ( Kampanj , ' \n ' )

Kampanj = Kampanj. bifoga ( { 'Kampanj namn' : 'Tekniskt läger' , 'Plats' : 'USA' , 'Start datum' : '05/12/2023' , 'Budget' : 2000 } , ignore_index = Sann )
Kampanj = Kampanj. bifoga ( { 'Kampanj namn' : 'Marknadsföringsläger' , 'Plats' : 'Indien' , 'Start datum' : '06/23/2023' , 'Budget' : 9000 } , ignore_index = Sann )
Kampanj = Kampanj. bifoga ( { 'Kampanj namn' : 'MSales camp' , 'Plats' : 'Italien' , 'Start datum' : '01/24/2023' , 'Budget' : 1200 } , ignore_index = Sann )
skriva ut ( Kampanj )

Produktion :

Tre rader läggs till efter varandra med 3, 4 och 5 index till den befintliga DataFrame.

Använder Pandas.Concat

Funktionen pandas.concat() sammanfogar två eller flera DataFrames längs raderna eller kolumnerna. Så vi måste omvandla ordboken till DataFrame och skicka två DataFrames till den här funktionen.

Syntax :

Lägg till en ordbok till den befintliga DataFrame:

pandor. konkat ( [ Existing_DataFrame , Transformed_Dictionary ] , axel = 0 , ignore_index , verifiera_integritet )
  1. Om axel = 0, görs sammanlänkningen längs raderna. Sammankopplingen görs längs kolumnerna om den är inställd Tillämpad nödvändig versal eftersom detta är en underrubrik. Lade till nödvändig artikel för korthet.till 1.
  2. ignore_index (som standard = False): Denna parameter används när du lägger till raderna till DataFrame som redan har rader. Om det är 'False' läggs även de befintliga radindexen till. Om det är 'True' är raderna märkta från 0 till n-1.
  3. Vi kan söka efter dubbletter av index med hjälp av parametern verify_integrity (som standard = False). Om indexen är dubbletter och verify_integrity är satt till 'True', returnerar det 'ValueError: Index har överlappande värden'.

Exempel 1: Lägg till en enda ordbok

Skapa en Pandas DataFrame med fyra kolumner – “Campaign_Name”, “Location”, “StartDate” och “Budget” – och tre rader. Använd funktionen pandas.concat() och lägg till en ordlista (DataFrame) som en rad till denna DataFrame.

importera pandor


# Skapa DataFrame - Kampanj med 4 kolumner och 3 rader
Kampanj = pandor. DataFrame ( [ [ 'Marknadsföringsläger' , 'Indien' , '01/12/2023' , 8000 ] ,
[ 'Säljläger' , 'Italien' , '01/25/2022' , 10 000 ] ,
[ 'Annat läger' , 'USA' , '04/17/2023' , 2000 ] ] ,
kolumner = [ 'Kampanj namn' , 'Plats' , 'Start datum' , 'Budget' ] )
skriva ut ( Kampanj , ' \n ' )

dictionary_from_DataFrame = pandor. DataFrame ( [ { 'Kampanj namn' : 'Service Camp' , 'Plats' : 'USA' , 'Start datum' : '04/17/2023' , 'Budget' : 1000 } ] )

# Lägg till en rad
Kampanj = pandor. konkat ( [ Kampanj , dictionary_from_DataFrame ] , axel = 0 )
skriva ut ( Kampanj , ' \n ' )

Produktion :

Vi kan se att ordboken är bifogad till 'Campaign' DataFrame. Indexet för denna nya rad är 0 eftersom indexet inte ignoreras.

Exempel 2: Lägg till flera ordböcker

Använd den tidigare DataFrame och lägg till tre ordlistor (DataFrame) genom att ignorera indexet.

importera pandor


# Skapa DataFrame - Kampanj med 4 kolumner och 3 rader
Kampanj = pandor. DataFrame ( [ [ 'Marknadsföringsläger' , 'Indien' , '01/12/2023' , 8000 ] ,
[ 'Säljläger' , 'Italien' , '01/25/2022' , 10 000 ] ,
[ 'Annat läger' , 'USA' , '04/17/2023' , 2000 ] ] ,
kolumner = [ 'Kampanj namn' , 'Plats' , 'Start datum' , 'Budget' ] )
skriva ut ( Kampanj , ' \n ' )

dictionary_from_DataFrame = pandor. DataFrame ( [ { 'Kampanj namn' : 'Tech Camp' , 'Plats' : 'USA' , 'Start datum' : '05/17/2023' , 'Budget' : 1000 } ,
{ 'Kampanj namn' : 'Sociala tjänster' , 'Plats' : 'Japan' , 'Start datum' : '04/17/2023' , 'Budget' : 200 } ,
{ 'Kampanj namn' : 'Säljläger' , 'Plats' : 'USA' , 'Start datum' : '04/18/2023' , 'Budget' : 500 } ] )

# Lägg till flera rader
Kampanj = pandor. konkat ( [ Kampanj , dictionary_from_DataFrame ] , axel = 0 , ignore_index = Sann )
skriva ut ( Kampanj , ' \n ' )

Produktion :

Vi kan se att tre ordböcker är bifogade till 'Campaign' DataFrame. Indexen för dessa ordböcker är 3, 4 och 5 eftersom parametern ignore_index är satt till 'False'.

Slutsats

De enkla/flera ordlistorna läggs till i DataFrame med hjälp av funktionerna pandas.DataFrame.append() och pandas.concat(). Indexen för de nya raderna kan vara unika genom att sätta parametern ignore_index till 'True' i pandas.concat()-funktionen. När du använder funktionen pandas.DataFrame.append() ställer du in parametern ignore_index till 'True'. Annars höjs TypeError.