Dict hozzáfűzése a DataFrame-hez a Pandasban

Dict Hozzafuzese A Dataframe Hez A Pandasban



Megbeszéljük, hogyan lehet szótárt hozzáfűzni a meglévő Pandas DataFrame-hez a pandas.DataFrame.append() és a pandas.concat() függvényekkel, példákkal. Itt a szótár a kulcs:érték párra hivatkozik úgy, hogy a kulcs a DataFrame-ben található meglévő oszlopcímkékre hivatkozik, és az értékek sorba kerülnek. Látni fogjuk azokat a példákat is, amelyek több szótárat fűznek a Pandas DataFrame-hez.

A Pandas.DataFrame.Append használata

A pandas.DataFrame.append() függvény arra szolgál, hogy egy másik DataFrame sorait hozzáfűzze a meglévő DataFrame-hez. Ha a meglévő DataFrame oszlopai nem léteznek, a többi DataFrame oszlop a meglévő DataFrame-ben jön létre. Használja ezt a funkciót úgy, hogy a sort a szótár hozzáfűzésével be kell illeszteni a DataFrame-be.

Szintaxis :







A következő a pandas.DataFrame.append() függvény tényleges szintaxisa:



pandák. DataFrame . mellékel ( Egyéb , ignore_index , verify_integrity , fajta )
  1. Egyéb : Ez egy másik DataFrame-re vonatkozik, amelyben ennek a DataFrame-nek a sorai hozzá vannak fűzve a meglévő DataFrame-hez. Ha egyetlen sort szeretne hozzáfűzni, akkor paraméterként egy értékszótárt kell átadnia.
  2. ignore_index (alapértelmezés szerint = False): Ez a paraméter akkor használatos, amikor sorokat fűz hozzá a DataFrame-hez, amely már rendelkezik sorokkal. Ha „False”, a meglévő sorindexek is hozzá lesznek fűzve. Ha „Igaz”, a sorok 0-tól n-1-ig vannak címkézve. Győződjön meg arról, hogy ez a paraméter „True”-ra van állítva, miközben szótárt fűz hozzá a DataFrame-hez. Ellenkező esetben egy hibatípus jelenik meg – „TypeError: Csak akkor fűzhet diktátumot, ha ignore_index=True”.
  3. A duplikált indexeket a verify_integrity paraméterrel ellenőrizhetjük (alapértelmezés szerint hamis). Ha az indexek duplikálódnak, és a verify_integrity értéke „True”, akkor a „ValueError: Az indexek értékei átfednek” üzenetet ad vissza.
  4. Lehetőség van az oszlopok rendezésére, ha a meglévő DataFrame és egy másik DataFrame oszlopai nincsenek egymáshoz igazítva a rendezési paraméter használatával, ha azt „True”-ra állítjuk (alapértelmezés szerint hamis).

1. példa: Egyetlen szótár hozzáadása

Hozzon létre egy Pandas DataFrame-et négy oszlopból – „Campaign_Name”, „Location”, „StartDate” és „Budget” – és három sorból. Szótár hozzáfűzése ehhez a DataFrame-hez.



import pandák

# DataFrame létrehozása – 4 oszlopból és 3 sorból álló kampány
Kampány = pandák. DataFrame ( [ [ 'Marketing tábor' , 'India' , '2023.01.12.' , 8000 ] ,
[ 'Eladó tábor' , 'Olaszország' , '2022.01.25.' , 10000 ] ,
[ 'Más tábor' , 'EGYESÜLT ÁLLAMOK' , '2023.04.17.' , 2000 ] ] ,
oszlopok = [ 'Kampány név' , 'Elhelyezkedés' , 'Kezdő dátum' , 'Költségvetés' ] )
nyomtatás ( Kampány , ' \n ' )

# Egysoros hozzáfűzés
Kampány = Kampány. mellékel ( { 'Kampány név' : 'Technikai tábor' , 'Elhelyezkedés' : 'EGYESÜLT ÁLLAMOK' , 'Kezdő dátum' : '2023.05.12.' , 'Költségvetés' : 2000 } , ignore_index = Igaz )
nyomtatás ( Kampány , ' \n ' )

Kimenet :





Láthatjuk, hogy a szótár a „Campaign” DataFrame-hez van csatolva. Ennek az új sornak az indexe 3, mivel az indexet figyelmen kívül hagyja.



2. példa: Több szótár hozzáfűzése

Használja ugyanazt a DataFrame-et, amelyet az 1. példa szerint hozott létre, és fűzzen hozzá egyszerre három sort a pandas.DataFrame.append() függvény segítségével. Állítsa az ignore_index paramétert „True”-ra.

import pandák

# DataFrame létrehozása – 4 oszlopból és 3 sorból álló kampány
Kampány = pandák. DataFrame ( [ [ 'Marketing tábor' , 'India' , '2023.01.12.' , 8000 ] ,
[ 'Eladó tábor' , 'Olaszország' , '2022.01.25.' , 10000 ] ,
[ 'Más tábor' , 'EGYESÜLT ÁLLAMOK' , '2023.04.17.' , 2000 ] ] ,
oszlopok = [ 'Kampány név' , 'Elhelyezkedés' , 'Kezdő dátum' , 'Költségvetés' ] )
nyomtatás ( Kampány , ' \n ' )

Kampány = Kampány. mellékel ( { 'Kampány név' : 'Technikai tábor' , 'Elhelyezkedés' : 'EGYESÜLT ÁLLAMOK' , 'Kezdő dátum' : '2023.05.12.' , 'Költségvetés' : 2000 } , ignore_index = Igaz )
Kampány = Kampány. mellékel ( { 'Kampány név' : 'Marketing tábor' , 'Elhelyezkedés' : 'India' , 'Kezdő dátum' : '2023.06.23.' , 'Költségvetés' : 9000 } , ignore_index = Igaz )
Kampány = Kampány. mellékel ( { 'Kampány név' : 'MSales tábor' , 'Elhelyezkedés' : 'Olaszország' , 'Kezdő dátum' : '2023.01.24.' , 'Költségvetés' : 1200 } , ignore_index = Igaz )
nyomtatás ( Kampány )

Kimenet :

Három sor egymás után 3, 4 és 5 indexet fűz a meglévő DataFrame-hez.

A Pandas.Concat használata

A pandas.concat() függvény két vagy több DataFrame-et fűz össze a sorok vagy oszlopok mentén. Tehát át kell alakítanunk a szótárt DataFrame-re, és két DataFrame-et kell átadnunk ennek a függvénynek.

Szintaxis :

Szótár hozzáfűzése a meglévő DataFrame-hez:

pandák. concat ( [ Existing_DataFrame , Transformed_Dictionary ] , tengely = 0 , ignore_index , verify_integrity )
  1. Ha tengely = 0, az összefűzés a sorok mentén történik. Az összefűzés az oszlopok mentén történik, ha be van állítva. Szükséges nagybetűk alkalmazása, mivel ez egy alcím. A rövidség kedvéért a szükséges cikket hozzáadtuk az 1-hez.
  2. Az ignore_index (alapértelmezés szerint = False): Ez a paraméter akkor használatos, amikor a sorokat hozzáfűzi a már sorokkal rendelkező DataFrame-hez. Ha „False”, a meglévő sorindexek is hozzá lesznek fűzve. Ha „Igaz”, a sorok 0-tól n-1-ig vannak címkézve.
  3. A duplikált indexeket a verify_integrity paraméterrel ellenőrizhetjük (alapértelmezés szerint hamis). Ha az indexek duplikálódnak, és a verify_integrity értéke „True”, akkor a „ValueError: Az indexek értékei átfednek” üzenetet ad vissza.

1. példa: Egyetlen szótár hozzáadása

Hozzon létre egy Pandas DataFrame-et négy oszlopból – „Campaign_Name”, „Location”, „StartDate” és „Budget” – és három sorból. A pandas.concat() függvény segítségével fűzzünk hozzá egy szótárt (DataFrame) sorként ehhez a DataFrame-hez.

import pandák


# DataFrame létrehozása – 4 oszlopból és 3 sorból álló kampány
Kampány = pandák. DataFrame ( [ [ 'Marketing tábor' , 'India' , '2023.01.12.' , 8000 ] ,
[ 'Eladó tábor' , 'Olaszország' , '2022.01.25.' , 10000 ] ,
[ 'Más tábor' , 'EGYESÜLT ÁLLAMOK' , '2023.04.17.' , 2000 ] ] ,
oszlopok = [ 'Kampány név' , 'Elhelyezkedés' , 'Kezdő dátum' , 'Költségvetés' ] )
nyomtatás ( Kampány , ' \n ' )

dictionary_from_DataFrame = pandák. DataFrame ( [ { 'Kampány név' : 'Szolgálati tábor' , 'Elhelyezkedés' : 'EGYESÜLT ÁLLAMOK' , 'Kezdő dátum' : '2023.04.17.' , 'Költségvetés' : 1000 } ] )

# Egysoros hozzáfűzés
Kampány = pandák. concat ( [ Kampány , dictionary_from_DataFrame ] , tengely = 0 )
nyomtatás ( Kampány , ' \n ' )

Kimenet :

Láthatjuk, hogy a szótár a „Campaign” DataFrame-hez van csatolva. Ennek az új sornak az indexe 0, mivel az indexet nem hagyja figyelmen kívül.

2. példa: Több szótár hozzáfűzése

Használja az előző DataFrame-et, és az index figyelmen kívül hagyásával fűzzen hozzá három szótárt (DataFrame).

import pandák


# DataFrame létrehozása – 4 oszlopból és 3 sorból álló kampány
Kampány = pandák. DataFrame ( [ [ 'Marketing tábor' , 'India' , '2023.01.12.' , 8000 ] ,
[ 'Eladó tábor' , 'Olaszország' , '2022.01.25.' , 10000 ] ,
[ 'Más tábor' , 'EGYESÜLT ÁLLAMOK' , '2023.04.17.' , 2000 ] ] ,
oszlopok = [ 'Kampány név' , 'Elhelyezkedés' , 'Kezdő dátum' , 'Költségvetés' ] )
nyomtatás ( Kampány , ' \n ' )

dictionary_from_DataFrame = pandák. DataFrame ( [ { 'Kampány név' : 'Tech Camp' , 'Elhelyezkedés' : 'EGYESÜLT ÁLLAMOK' , 'Kezdő dátum' : '2023.05.17.' , 'Költségvetés' : 1000 } ,
{ 'Kampány név' : 'Szociális szolgáltatások' , 'Elhelyezkedés' : 'Japán' , 'Kezdő dátum' : '2023.04.17.' , 'Költségvetés' : 200 } ,
{ 'Kampány név' : 'Eladó tábor' , 'Elhelyezkedés' : 'EGYESÜLT ÁLLAMOK' , 'Kezdő dátum' : '2023.04.18.' , 'Költségvetés' : 500 } ] )

# Több sor hozzáfűzése
Kampány = pandák. concat ( [ Kampány , dictionary_from_DataFrame ] , tengely = 0 , ignore_index = Igaz )
nyomtatás ( Kampány , ' \n ' )

Kimenet :

Láthatjuk, hogy a „Campaign” DataFrame-hez három szótár van hozzáfűzve. E szótárak indexei 3, 4 és 5, mivel az ignore_index paraméter értéke „False”.

Következtetés

Az egyszeres/több szótárakat a pandas.DataFrame.append() és pandas.concat() függvények segítségével hozzáfűzzük a DataFrame-hez. Az új sorok indexei egyediek lehetnek, ha a pandas.concat() függvényben az ignore_index paramétert „True”-ra állítjuk. A pandas.DataFrame.append() függvény használata közben állítsa az ignore_index paramétert „True” értékre. Ellenkező esetben megjelenik a TypeError.