Idagdag ang Dict sa DataFrame sa Pandas

Idagdag Ang Dict Sa Dataframe Sa Pandas



Tatalakayin natin kung paano magdagdag ng diksyunaryo sa umiiral nang Pandas DataFrame gamit ang pandas.DataFrame.append() at pandas.concat() function na may mga halimbawa. Dito, tinutukoy ng diksyunaryo ang key:value pair kung kaya't ang key ay tumutukoy sa mga umiiral nang label ng column na nasa DataFrame at ang mga value ay idinaragdag sa isang row. Gayundin, makikita natin ang mga halimbawang nagdaragdag ng maraming diksyunaryo sa Pandas DataFrame.

Gamit ang Pandas.DataFrame.Append

Ang pandas.DataFrame.append() function ay ginagamit upang idugtong ang mga row ng isa pang DataFrame sa umiiral na DataFrame. Kung ang mga column sa umiiral na DataFrame ay hindi umiiral, ang iba pang mga DataFrame column ay gagawin sa umiiral na DataFrame. Gamitin ang function na ito sa paraang kailangang maipasok ang row sa DataFrame sa pamamagitan ng pagdaragdag ng diksyunaryo.

Syntax :







Ang sumusunod ay ang aktwal na syntax ng pandas.DataFrame.append() function:



mga panda. Balangkas ng mga datos . dugtungan ( iba pa , ignore_index , verify_integrity , uri )
  1. iba pa : Ito ay tumutukoy sa isa pang DataFrame kung saan ang mga row ng DataFrame na ito ay nakadugtong sa umiiral na DataFrame. Kung gusto mong magdagdag ng isang row, kailangan mong magpasa ng diksyunaryo ng mga value bilang parameter.
  2. ignore_index (bilang default = False): Ginagamit ang parameter na ito kapag nagdaragdag ka ng mga row sa DataFrame na mayroon nang mga row. Kung ito ay 'Mali', ang mga kasalukuyang indeks ng mga hilera ay idinaragdag din. Kung ito ay 'True', ang mga row ay may label na mula 0 hanggang n-1. Tiyaking nakatakda ang parameter na ito sa 'True' habang nagdaragdag ng diksyunaryo sa DataFrame. Kung hindi, isang uri ng error ang itataas - 'TypeError: Maaari lamang magdagdag ng dict kung ignore_index=True'.
  3. Maaari naming suriin ang mga duplicate na indeks gamit ang verify_integrity parameter (bilang default = False). Kung duplicate ang mga indeks at ang verify_integrity ay nakatakda sa 'True', ibabalik nito ang 'ValueError: Ang mga index ay may magkakapatong na mga halaga.'
  4. Posibleng pag-uri-uriin ang mga column kung ang mga column ng kasalukuyang DataFrame at isa pang DataFrame ay hindi nakahanay gamit ang sort parameter sa pamamagitan ng pagtatakda nito sa “True” (bilang default = False).

Halimbawa 1: Magdugtong ng Isang Diksyunaryo

Gumawa ng Pandas DataFrame na may apat na column – “Campaign_Name”, “Location”, “StartDate”, at “Budget” – at tatlong row. Magdagdag ng diksyunaryo sa DataFrame na ito.



angkat mga panda

# Lumikha ng DataFrame - Campaign na may 4 na column at 3 row
Kampanya = mga panda. Balangkas ng mga datos ( [ [ 'Marketing Camp' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Sales Camp' , 'Italy' , '01/25/2022' , 10000 ] ,
[ 'Ibang Kampo' , 'USA' , '04/17/2023' , 2000 ] ] ,
mga hanay = [ 'Pangalan_Kampanya' , 'Lokasyon' , 'StartDate' , 'Badyet' ] )
print ( Kampanya , ' \n ' )

# Idagdag ang Isang hilera
Kampanya = Kampanya. dugtungan ( { 'Pangalan_Kampanya' : 'Technical Camp' , 'Lokasyon' : 'USA' , 'StartDate' : '05/12/2023' , 'Badyet' : 2000 } , ignore_index = totoo )
print ( Kampanya , ' \n ' )

Output :





Makikita natin na ang diksyunaryo ay nakadugtong sa DataFrame ng 'Kampanya'. Ang index ng bagong row na ito ay 3 dahil binalewala ang index.



Halimbawa 2: Magdugtong ng Maramihang Diksyonaryo

Gamitin ang parehong DataFrame na ginawa sa ilalim ng Halimbawa 1 at magdagdag ng tatlong row sa isang pagkakataon gamit ang pandas.DataFrame.append() function. Itakda ang ignore_index na parameter sa “True”.

angkat mga panda

# Lumikha ng DataFrame - Campaign na may 4 na column at 3 row
Kampanya = mga panda. Balangkas ng mga datos ( [ [ 'Marketing Camp' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Sales Camp' , 'Italy' , '01/25/2022' , 10000 ] ,
[ 'Ibang Kampo' , 'USA' , '04/17/2023' , 2000 ] ] ,
mga hanay = [ 'Pangalan_Kampanya' , 'Lokasyon' , 'StartDate' , 'Badyet' ] )
print ( Kampanya , ' \n ' )

Kampanya = Kampanya. dugtungan ( { 'Pangalan_Kampanya' : 'Technical Camp' , 'Lokasyon' : 'USA' , 'StartDate' : '05/12/2023' , 'Badyet' : 2000 } , ignore_index = totoo )
Kampanya = Kampanya. dugtungan ( { 'Pangalan_Kampanya' : 'Marketing camp' , 'Lokasyon' : 'India' , 'StartDate' : '06/23/2023' , 'Badyet' : 9000 } , ignore_index = totoo )
Kampanya = Kampanya. dugtungan ( { 'Pangalan_Kampanya' : 'MSales camp' , 'Lokasyon' : 'Italy' , 'StartDate' : '01/24/2023' , 'Badyet' : 1200 } , ignore_index = totoo )
print ( Kampanya )

Output :

Tatlong hilera ang magkakasunod na idinagdag na may 3, 4, at 5 na indeks sa kasalukuyang DataFrame.

Gamit ang Pandas.Concat

Ang pandas.concat() function ay nagsasama-sama ng dalawa o higit pang DataFrame kasama ang mga row o column. Kaya, kailangan nating baguhin ang diksyunaryo sa DataFrame at ipasa ang dalawang DataFrame sa function na ito.

Syntax :

Magdagdag ng diksyunaryo sa umiiral na DataFrame:

mga panda. concat ( [ Umiiral na_DataFrame , Transformed_Dictionary ] , aksis = 0 , ignore_index , verify_integrity )
  1. Kung axis = 0, ang concatenation ay ginagawa kasama ang mga row. Ginagawa ang pagsasama-sama sa mga column kung ito ay nakatakda. Inilapat ang kinakailangang capitalization dahil ito ay isang subheading. Idinagdag ang kinakailangang artikulo para sa kaiklian.sa 1.
  2. Ang ignore_index (by default = False): Ginagamit ang parameter na ito kapag idinadagdag mo ang mga row sa DataFrame na mayroon nang mga row. Kung ito ay 'Mali', ang mga kasalukuyang indeks ng mga hilera ay idinaragdag din. Kung ito ay 'True', ang mga row ay may label na mula 0 hanggang n-1.
  3. Maaari naming suriin ang mga duplicate na indeks gamit ang verify_integrity parameter (bilang default = False). Kung duplicate ang mga indeks at ang verify_integrity ay nakatakda sa 'True', ibabalik nito ang 'ValueError: Ang mga index ay may magkakapatong na mga halaga.'

Halimbawa 1: Magdugtong ng Isang Diksyunaryo

Gumawa ng Pandas DataFrame na may apat na column – “Campaign_Name”, “Location”, “StartDate”, at “Budget” – at tatlong row. Gamit ang pandas.concat() function, magdagdag ng isang diksyunaryo (DataFrame) bilang isang row sa DataFrame na ito.

angkat mga panda


# Lumikha ng DataFrame - Campaign na may 4 na column at 3 row
Kampanya = mga panda. Balangkas ng mga datos ( [ [ 'Marketing Camp' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Sales Camp' , 'Italy' , '01/25/2022' , 10000 ] ,
[ 'Ibang Kampo' , 'USA' , '04/17/2023' , 2000 ] ] ,
mga hanay = [ 'Pangalan_Kampanya' , 'Lokasyon' , 'StartDate' , 'Badyet' ] )
print ( Kampanya , ' \n ' )

diksyunaryo_mula sa_DataFrame = mga panda. Balangkas ng mga datos ( [ { 'Pangalan_Kampanya' : 'Service Camp' , 'Lokasyon' : 'USA' , 'StartDate' : '04/17/2023' , 'Badyet' : 1000 } ] )

# Idagdag ang Isang hilera
Kampanya = mga panda. concat ( [ Kampanya , diksyunaryo_mula sa_DataFrame ] , aksis = 0 )
print ( Kampanya , ' \n ' )

Output :

Makikita natin na ang diksyunaryo ay nakadugtong sa DataFrame ng 'Kampanya'. Ang index ng bagong row na ito ay 0 dahil hindi binabalewala ang index.

Halimbawa 2: Magdugtong ng Maramihang Diksyonaryo

Gamitin ang nakaraang DataFrame at magdagdag ng tatlong diksyunaryo (DataFrame) sa pamamagitan ng hindi pagpansin sa index.

angkat mga panda


# Lumikha ng DataFrame - Campaign na may 4 na column at 3 row
Kampanya = mga panda. Balangkas ng mga datos ( [ [ 'Marketing Camp' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Sales Camp' , 'Italy' , '01/25/2022' , 10000 ] ,
[ 'Ibang Kampo' , 'USA' , '04/17/2023' , 2000 ] ] ,
mga hanay = [ 'Pangalan_Kampanya' , 'Lokasyon' , 'StartDate' , 'Badyet' ] )
print ( Kampanya , ' \n ' )

diksyunaryo_mula sa_DataFrame = mga panda. Balangkas ng mga datos ( [ { 'Pangalan_Kampanya' : 'Tech Camp' , 'Lokasyon' : 'USA' , 'StartDate' : '05/17/2023' , 'Badyet' : 1000 } ,
{ 'Pangalan_Kampanya' : 'Mga serbisyong panlipunan' , 'Lokasyon' : 'Hapon' , 'StartDate' : '04/17/2023' , 'Badyet' : 200 } ,
{ 'Pangalan_Kampanya' : 'Sales Camp' , 'Lokasyon' : 'USA' , 'StartDate' : '04/18/2023' , 'Badyet' : 500 } ] )

# Magdugtong ng maraming row
Kampanya = mga panda. concat ( [ Kampanya , diksyunaryo_mula sa_DataFrame ] , aksis = 0 , ignore_index = totoo )
print ( Kampanya , ' \n ' )

Output :

Makikita natin na tatlong diksyunaryo ang idinagdag sa DataFrame ng 'Kampanya'. Ang mga indeks ng mga diksyunaryong ito ay 3, 4, at 5 dahil ang parameter na ignore_index ay nakatakda sa “False”.

Konklusyon

Ang isa/maraming diksyunaryo ay idinaragdag sa DataFrame gamit ang pandas.DataFrame.append() at pandas.concat() function. Ang mga indeks ng mga bagong row ay maaaring maging kakaiba sa pamamagitan ng pagtatakda ng ignore_index na parameter sa “True” sa pandas.concat() function. Habang ginagamit ang pandas.DataFrame.append() function, itakda ang ignore_index parameter sa “True”. Kung hindi, itataas ang TypeError.