Legg til Dict til DataFrame i Pandas

Legg Til Dict Til Dataframe I Pandas



Vi vil diskutere hvordan du legger til en ordbok til den eksisterende Pandas DataFrame ved å bruke funksjonene pandas.DataFrame.append() og pandas.concat() med eksempler. Her refererer ordboken til nøkkel:verdi-paret slik at nøkkelen refererer til de eksisterende kolonneetikettene som finnes i DataFrame, og verdiene legges til i en rad. Vi vil også se eksemplene som legger til flere ordbøker til Pandas DataFrame.

Bruke Pandas.DataFrame.Append

Funksjonen pandas.DataFrame.append() brukes til å legge til radene til en annen DataFrame til den eksisterende DataFrame. Hvis kolonnene i den eksisterende DataFrame ikke eksisterer, opprettes de andre DataFrame-kolonnene i den eksisterende DataFrame. Bruk denne funksjonen på en slik måte at raden må settes inn i DataFrame ved å legge til ordboken.

Syntaks :







Følgende er den faktiske syntaksen til pandas.DataFrame.append()-funksjonen:



pandaer. Dataramme . legge til ( annen , ignore_index , verify_integrity , sortere )
  1. annen : Dette refererer til en annen DataFrame der radene i denne DataFrame er lagt til den eksisterende DataFrame. Hvis du vil legge til en enkelt rad, må du sende en ordbok med verdier som parameter.
  2. ignore_index (som standard = False): Denne parameteren brukes når du legger til rader til DataFrame som allerede har rader. Hvis det er 'False', blir de eksisterende radindeksene også lagt til. Hvis det er 'True', er radene merket fra 0 til n-1. Pass på at denne parameteren er satt til 'True' mens du legger til en ordbok til DataFrame. Ellers oppstår en feiltype - 'TypeError: Kan bare legge til en dict if ignore_index=True'.
  3. Vi kan se etter dupliserte indekser ved å bruke verify_integrity-parameteren (som standard = False). Hvis indeksene er dupliserte og verify_integrity er satt til 'True', returnerer den 'ValueError: Indekser har overlappende verdier'.
  4. Det er mulig å sortere kolonnene hvis kolonnene til den eksisterende DataFrame og en annen DataFrame ikke er justert ved å bruke sorteringsparameteren ved å sette den til 'True' (som standard = False).

Eksempel 1: Legg til en enkelt ordbok

Lag en Pandas DataFrame med fire kolonner – «Campaign_Name», «Location», «StartDate» og «Budget» – og tre rader. Legg til en ordbok til denne DataFrame.



import pandaer

# Lag DataFrame - Kampanje med 4 kolonner og 3 rader
Kampanje = pandaer. Dataramme ( [ [ 'Markedsføringsleir' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Salgscamp' , 'Italia' , '25.01.2022' , 10 000 ] ,
[ 'Annen leir' , 'USA' , '17.04.2023' , 2000 ] ] ,
kolonner = [ 'Campaign_Name' , 'Plassering' , 'Startdato' , 'Budsjett' ] )
skrive ut ( Kampanje , ' \n ' )

# Legg til Enkel rad
Kampanje = Kampanje. legge til ( { 'Campaign_Name' : 'Teknisk leir' , 'Plassering' : 'USA' , 'Startdato' : '05/12/2023' , 'Budsjett' : 2000 } , ignore_index = ekte )
skrive ut ( Kampanje , ' \n ' )

Produksjon :





Vi kan se at ordboken er lagt til 'Campaign' DataFrame. Indeksen for denne nye raden er 3 siden indeksen ignoreres.



Eksempel 2: Legg til flere ordbøker

Bruk den samme DataFrame som er opprettet under eksempel 1 og legg til tre rader om gangen ved å bruke pandas.DataFrame.append()-funksjonen. Sett ignore_index-parameteren til 'True'.

import pandaer

# Lag DataFrame - Kampanje med 4 kolonner og 3 rader
Kampanje = pandaer. Dataramme ( [ [ 'Markedsføringsleir' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Salgscamp' , 'Italia' , '25.01.2022' , 10 000 ] ,
[ 'Annen leir' , 'USA' , '17.04.2023' , 2000 ] ] ,
kolonner = [ 'Campaign_Name' , 'Plassering' , 'Startdato' , 'Budsjett' ] )
skrive ut ( Kampanje , ' \n ' )

Kampanje = Kampanje. legge til ( { 'Campaign_Name' : 'Teknisk leir' , 'Plassering' : 'USA' , 'Startdato' : '05/12/2023' , 'Budsjett' : 2000 } , ignore_index = ekte )
Kampanje = Kampanje. legge til ( { 'Campaign_Name' : 'Markedsføringsleir' , 'Plassering' : 'India' , 'Startdato' : '23/06/2023' , 'Budsjett' : 9000 } , ignore_index = ekte )
Kampanje = Kampanje. legge til ( { 'Campaign_Name' : 'MSales camp' , 'Plassering' : 'Italia' , 'Startdato' : '24.01.2023' , 'Budsjett' : 1200 } , ignore_index = ekte )
skrive ut ( Kampanje )

Produksjon :

Tre rader legges til etter hverandre med 3, 4 og 5 indekser til den eksisterende DataFrame.

Bruker Pandas.Concat

Funksjonen pandas.concat() setter sammen to eller flere DataFrames langs radene eller kolonnene. Så vi må transformere ordboken til DataFrame og sende to DataFrames til denne funksjonen.

Syntaks :

Legg til en ordbok til den eksisterende DataFrame:

pandaer. concat ( [ Existing_DataFrame , Transformert_ordbok ] , akser = 0 , ignore_index , verify_integrity )
  1. Hvis akse = 0, gjøres sammenkoblingen langs radene. Sammenkoblingen gjøres langs kolonnene hvis den er satt. Brukt nødvendig store bokstaver siden dette er en underoverskrift. Lagt til nødvendig artikkel for korthet.til 1.
  2. ignore_index (som standard = False): Denne parameteren brukes når du legger til radene til DataFrame som allerede har rader. Hvis det er 'False', blir de eksisterende radindeksene også lagt til. Hvis det er 'True', er radene merket fra 0 til n-1.
  3. Vi kan se etter dupliserte indekser ved å bruke verify_integrity-parameteren (som standard = False). Hvis indeksene er dupliserte og verify_integrity er satt til 'True', returnerer den 'ValueError: Indekser har overlappende verdier'.

Eksempel 1: Legg til en enkelt ordbok

Lag en Pandas DataFrame med fire kolonner – «Campaign_Name», «Location», «StartDate» og «Budget» – og tre rader. Bruk pandas.concat()-funksjonen, legg til en ordbok (DataFrame) som en rad til denne DataFrame.

import pandaer


# Lag DataFrame - Kampanje med 4 kolonner og 3 rader
Kampanje = pandaer. Dataramme ( [ [ 'Markedsføringsleir' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Salgscamp' , 'Italia' , '25.01.2022' , 10 000 ] ,
[ 'Annen leir' , 'USA' , '17.04.2023' , 2000 ] ] ,
kolonner = [ 'Campaign_Name' , 'Plassering' , 'Startdato' , 'Budsjett' ] )
skrive ut ( Kampanje , ' \n ' )

ordbok_fra_dataramme = pandaer. Dataramme ( [ { 'Campaign_Name' : 'Service Camp' , 'Plassering' : 'USA' , 'Startdato' : '17.04.2023' , 'Budsjett' : 1000 } ] )

# Legg til Enkel rad
Kampanje = pandaer. concat ( [ Kampanje , ordbok_fra_dataramme ] , akser = 0 )
skrive ut ( Kampanje , ' \n ' )

Produksjon :

Vi kan se at ordboken er lagt til 'Campaign' DataFrame. Indeksen for denne nye raden er 0 siden indeksen ikke ignoreres.

Eksempel 2: Legg til flere ordbøker

Bruk forrige DataFrame og legg til tre ordbøker (DataFrame) ved å ignorere indeksen.

import pandaer


# Lag DataFrame - Kampanje med 4 kolonner og 3 rader
Kampanje = pandaer. Dataramme ( [ [ 'Markedsføringsleir' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Salgscamp' , 'Italia' , '25.01.2022' , 10 000 ] ,
[ 'Annen leir' , 'USA' , '17.04.2023' , 2000 ] ] ,
kolonner = [ 'Campaign_Name' , 'Plassering' , 'Startdato' , 'Budsjett' ] )
skrive ut ( Kampanje , ' \n ' )

ordbok_fra_dataramme = pandaer. Dataramme ( [ { 'Campaign_Name' : 'Tech Camp' , 'Plassering' : 'USA' , 'Startdato' : '17.05.2023' , 'Budsjett' : 1000 } ,
{ 'Campaign_Name' : 'Sosiale tjenester' , 'Plassering' : 'Japan' , 'Startdato' : '17.04.2023' , 'Budsjett' : 200 } ,
{ 'Campaign_Name' : 'Salgscamp' , 'Plassering' : 'USA' , 'Startdato' : '18.04.2023' , 'Budsjett' : 500 } ] )

# Legg til flere rader
Kampanje = pandaer. concat ( [ Kampanje , ordbok_fra_dataramme ] , akser = 0 , ignore_index = ekte )
skrive ut ( Kampanje , ' \n ' )

Produksjon :

Vi kan se at tre ordbøker er lagt til 'Campaign' DataFrame. Indeksene til disse ordbøkene er 3, 4 og 5 siden ignore_index-parameteren er satt til 'False'.

Konklusjon

Enkelt-/flere ordbøkene legges til DataFrame ved å bruke funksjonene pandas.DataFrame.append() og pandas.concat(). Indeksene til de nye radene kan være unike ved å sette parameteren ignore_index til «True» i pandas.concat()-funksjonen. Mens du bruker pandas.DataFrame.append()-funksjonen, sett ignore_index-parameteren til 'True'. Ellers økes TypeError.