Tilføj Dict til DataFrame i Pandas

Tilfoj Dict Til Dataframe I Pandas



Vi vil diskutere, hvordan man tilføjer en ordbog til den eksisterende Pandas DataFrame ved hjælp af funktionerne pandas.DataFrame.append() og pandas.concat() med eksempler. Her refererer ordbogen til nøgle:værdi-parret, således at nøglen refererer til de eksisterende kolonneetiketter, der er til stede i DataFrame, og værdierne tilføjes i en række. Vi vil også se eksemplerne, der tilføjer flere ordbøger til Pandas DataFrame.

Brug af Pandas.DataFrame.Append

Funktionen pandas.DataFrame.append() bruges til at tilføje rækkerne af en anden DataFrame til den eksisterende DataFrame. Hvis kolonnerne i den eksisterende DataFrame ikke eksisterer, oprettes de andre DataFrame-kolonner i den eksisterende DataFrame. Brug denne funktion på en sådan måde, at rækken skal indsættes i DataFrame ved at tilføje ordbogen.

Syntaks :







Følgende er den faktiske syntaks for pandas.DataFrame.append()-funktionen:



pandaer. DataFrame . Tilføj ( Andet , ignore_index , verify_integrity , sortere )
  1. Andet : Dette refererer til en anden DataFrame, hvor rækkerne i denne DataFrame er tilføjet til den eksisterende DataFrame. Hvis du vil tilføje en enkelt række, skal du sende en ordbog med værdier som parameter.
  2. ignore_index (som standard = Falsk): Denne parameter bruges, når du tilføjer rækker til den DataFrame, der allerede har rækker. Hvis det er 'False', tilføjes de eksisterende rækkeindekser også. Hvis det er 'True', er rækkerne mærket fra 0 til n-1. Sørg for, at denne parameter er indstillet til 'True', mens du tilføjer en ordbog til DataFrame. Ellers opstår en fejltype - 'TypeError: Kan kun tilføje en dict, hvis ignore_index=True'.
  3. Vi kan tjekke for de duplikerede indekser ved hjælp af parameteren verify_integrity (som standard = False). Hvis indekserne er duplikerede, og verify_integrity er sat til 'True', returnerer det 'ValueError: Indekser har overlappende værdier'.
  4. Det er muligt at sortere kolonnerne, hvis kolonnerne i den eksisterende DataFrame og en anden DataFrame ikke er justeret ved hjælp af sorteringsparameteren ved at sætte den til 'True' (som standard = False).

Eksempel 1: Tilføj en enkelt ordbog

Opret en Pandas DataFrame med fire kolonner – “Campaign_Name”, “Location”, “StartDate” og “Budget” – og tre rækker. Føj en ordbog til denne DataFrame.



importere pandaer

# Opret DataFrame - Kampagne med 4 kolonner og 3 rækker
Kampagne = pandaer. DataFrame ( [ [ 'Markedsføringslejr' , 'Indien' , '01/12/2023' , 8000 ] ,
[ 'Salgslejr' , 'Italien' , '25/01/2022' , 10.000 ] ,
[ 'Anden lejr' , 'USA' , '04/17/2023' , 2000 ] ] ,
kolonner = [ 'Campaign_Name' , 'Beliggenhed' , 'Start dato' , 'Budget' ] )
Print ( Kampagne , ' \n ' )

# Tilføj Enkelt række
Kampagne = Kampagne. Tilføj ( { 'Campaign_Name' : 'Teknisk lejr' , 'Beliggenhed' : 'USA' , 'Start dato' : '05/12/2023' , 'Budget' : 2000 } , ignore_index = Rigtigt )
Print ( Kampagne , ' \n ' )

Produktion :





Vi kan se, at ordbogen er tilføjet til 'Campaign' DataFrame. Indekset for denne nye række er 3, da indekset ignoreres.



Eksempel 2: Tilføj flere ordbøger

Brug den samme DataFrame, som er oprettet under eksempel 1, og tilføj tre rækker ad gangen ved hjælp af funktionen pandas.DataFrame.append(). Indstil parameteren ignore_index til 'True'.

importere pandaer

# Opret DataFrame - Kampagne med 4 kolonner og 3 rækker
Kampagne = pandaer. DataFrame ( [ [ 'Markedsføringslejr' , 'Indien' , '01/12/2023' , 8000 ] ,
[ 'Salgslejr' , 'Italien' , '25/01/2022' , 10.000 ] ,
[ 'Anden lejr' , 'USA' , '04/17/2023' , 2000 ] ] ,
kolonner = [ 'Campaign_Name' , 'Beliggenhed' , 'Start dato' , 'Budget' ] )
Print ( Kampagne , ' \n ' )

Kampagne = Kampagne. Tilføj ( { 'Campaign_Name' : 'Teknisk lejr' , 'Beliggenhed' : 'USA' , 'Start dato' : '05/12/2023' , 'Budget' : 2000 } , ignore_index = Rigtigt )
Kampagne = Kampagne. Tilføj ( { 'Campaign_Name' : 'Markedsføringslejr' , 'Beliggenhed' : 'Indien' , 'Start dato' : '06/23/2023' , 'Budget' : 9000 } , ignore_index = Rigtigt )
Kampagne = Kampagne. Tilføj ( { 'Campaign_Name' : 'MSales camp' , 'Beliggenhed' : 'Italien' , 'Start dato' : '24/01/2023' , 'Budget' : 1200 } , ignore_index = Rigtigt )
Print ( Kampagne )

Produktion :

Tre rækker tilføjes en efter en med 3, 4 og 5 indekser til den eksisterende DataFrame.

Brug af Pandas.Concat

Funktionen pandas.concat() sammenkæder to eller flere DataFrames langs rækkerne eller kolonnerne. Så vi skal transformere ordbogen til DataFrame og overføre to DataFrames til denne funktion.

Syntaks :

Føj en ordbog til den eksisterende DataFrame:

pandaer. konkat ( [ Existing_DataFrame , Transformeret_ordbog ] , akse = 0 , ignore_index , verify_integrity )
  1. Hvis akse = 0, udføres sammenkædningen langs rækkerne. Sammenkædningen foretages langs kolonnerne, hvis den er sat Anvendt nødvendig brug af store bogstaver, da dette er en underoverskrift. Tilføjet nødvendig artikel for korthed.til 1.
  2. Ignorer_indekset (som standard = Falsk): Denne parameter bruges, når du tilføjer rækkerne til DataFrame, der allerede har rækker. Hvis det er 'False', tilføjes de eksisterende rækkeindekser også. Hvis det er 'True', er rækkerne mærket fra 0 til n-1.
  3. Vi kan tjekke for de duplikerede indekser ved hjælp af parameteren verify_integrity (som standard = False). Hvis indekserne er duplikerede, og verify_integrity er sat til 'True', returnerer det 'ValueError: Indekser har overlappende værdier'.

Eksempel 1: Tilføj en enkelt ordbog

Opret en Pandas DataFrame med fire kolonner – “Campaign_Name”, “Location”, “StartDate” og “Budget” – og tre rækker. Brug funktionen pandas.concat() til at tilføje en ordbog (DataFrame) som en række til denne DataFrame.

importere pandaer


# Opret DataFrame - Kampagne med 4 kolonner og 3 rækker
Kampagne = pandaer. DataFrame ( [ [ 'Markedsføringslejr' , 'Indien' , '01/12/2023' , 8000 ] ,
[ 'Salgslejr' , 'Italien' , '25/01/2022' , 10.000 ] ,
[ 'Anden lejr' , 'USA' , '04/17/2023' , 2000 ] ] ,
kolonner = [ 'Campaign_Name' , 'Beliggenhed' , 'Start dato' , 'Budget' ] )
Print ( Kampagne , ' \n ' )

ordbog_fra_DataFrame = pandaer. DataFrame ( [ { 'Campaign_Name' : 'Servicelejr' , 'Beliggenhed' : 'USA' , 'Start dato' : '04/17/2023' , 'Budget' : 1000 } ] )

# Tilføj Enkelt række
Kampagne = pandaer. konkat ( [ Kampagne , ordbog_fra_DataFrame ] , akse = 0 )
Print ( Kampagne , ' \n ' )

Produktion :

Vi kan se, at ordbogen er tilføjet til 'Campaign' DataFrame. Indekset for denne nye række er 0, da indekset ikke ignoreres.

Eksempel 2: Tilføj flere ordbøger

Brug den forrige DataFrame og tilføj tre ordbøger (DataFrame) ved at ignorere indekset.

importere pandaer


# Opret DataFrame - Kampagne med 4 kolonner og 3 rækker
Kampagne = pandaer. DataFrame ( [ [ 'Markedsføringslejr' , 'Indien' , '01/12/2023' , 8000 ] ,
[ 'Salgslejr' , 'Italien' , '25/01/2022' , 10.000 ] ,
[ 'Anden lejr' , 'USA' , '04/17/2023' , 2000 ] ] ,
kolonner = [ 'Campaign_Name' , 'Beliggenhed' , 'Start dato' , 'Budget' ] )
Print ( Kampagne , ' \n ' )

ordbog_fra_DataFrame = pandaer. DataFrame ( [ { 'Campaign_Name' : 'Tech Camp' , 'Beliggenhed' : 'USA' , 'Start dato' : '05/17/2023' , 'Budget' : 1000 } ,
{ 'Campaign_Name' : 'Sociale myndigheder' , 'Beliggenhed' : 'Japan' , 'Start dato' : '04/17/2023' , 'Budget' : 200 } ,
{ 'Campaign_Name' : 'Salgslejr' , 'Beliggenhed' : 'USA' , 'Start dato' : '04/18/2023' , 'Budget' : 500 } ] )

# Tilføj flere rækker
Kampagne = pandaer. konkat ( [ Kampagne , ordbog_fra_DataFrame ] , akse = 0 , ignore_index = Rigtigt )
Print ( Kampagne , ' \n ' )

Produktion :

Vi kan se, at tre ordbøger er knyttet til 'Campaign' DataFrame. Indeksene for disse ordbøger er 3, 4 og 5, da parameteren ignore_index er sat til 'False'.

Konklusion

De enkelte/flere ordbøger føjes til DataFrame ved hjælp af funktionerne pandas.DataFrame.append() og pandas.concat(). Indeksene for de nye rækker kan være unikke ved at sætte parameteren ignore_index til 'True' i pandas.concat()-funktionen. Mens du bruger pandas.DataFrame.append()-funktionen, skal du indstille parameteren ignore_index til 'True'. Ellers hæves TypeError.