logo

Pandák összefűzése

A Pandas képes a Series, DataFrame és Panel objektumok kombinálására az indexek és a relációs algebra funkciók különféle beállított logikáján keresztül.

A concat() funkció a DataFrame egy tengelye mentén történő összefűzési művelet végrehajtásáért felelős.

Szintaxis:

 pd.concat(objs,axis=0,join='outer',join_axes=None, ignore_index=False) 

Paraméterek:

    objs:Ez sorozat vagy DataFrame objektumok sorozata vagy leképezése.
    Ha a DataFrame-ben diktálunk, akkor a rendezett kulcsok lesznek a keys argumentum, és az értékek ebben az esetben kerülnek kiválasztásra. Ha nem objektum van jelen, akkor az el lesz vetve, hacsak nem mindegyik, és ebben az esetben egy ValueError fel fogják emelni.tengely:Ez egy tengely, amely mentén össze kell fűzni.csatlakozik:Egy másik tengelyen lévő indexek kezeléséért felelős.join_axes:Az index objektumok listája. A belső vagy külső halmazlogika végrehajtása helyett meghatározott indexek használnak a másik (n-1) tengelyhez.ignore_index:bool, alapértelmezett érték False
    Nem használja az indexértékeket az összefűzési tengelyen, ha igaz. Az eredményül kapott tengely 0, ..., n - 1 címkével lesz ellátva.

Visszatér

Egy sorozatot ad vissza, ha az összes sorozatot összefűzzük a tengely mentén (tengely=0). Abban az esetben, ha objs legalább egy DataFrame-et tartalmaz, akkor egy DataFrame-et ad vissza.

1. példa:

 import pandas as pd a_data = pd.Series(['p', 'q']) b_data = pd.Series(['r', 's']) pd.concat([a_data, b_data]) 

Kimenet

 0 p 1 q 0 r 1 s dtype: object 

2. példa: A fenti példában visszaállíthatjuk a meglévő indexet a ignore_index paraméter. Az alábbi kód bemutatja a működését ignore_index .

 import pandas as pd a_data = pd.Series(['p', 'q']) b_data = pd.Series(['r', 's']) pd.concat([a_data, b_data], ignore_index=True) 

Kimenet

 0 p 1 q 2 r 3 s dtype: object 

3. példa: Az adatok legkülső szintjén hierarchikus indexet adhatunk hozzá a segítségével kulcsok paraméter.

 import pandas as pd a_data = pd.Series(['p', 'q']) b_data = pd.Series(['r', 's']) pd.concat([a_data, b_data], keys=['a_data', 'b_data']) 

Kimenet

 a_data 0 p 1 q b_data 0 r 1 s dtype: object 

4. példa: Az indexkulcsokat a neveket paraméter. Az alábbi kód a nevek paraméter működését mutatja.

 import pandas as pd a_data = pd.Series(['p', 'q']) b_data = pd.Series(['r', 's']) pd.concat([a_data, b_data], keys=['a_data', 'b_data']) pd.concat([a_data, b_data], keys=['a_data', 'b_data'], names=['Series name', 'Row ID']) 

Kimenet

 Series name Row ID a_data 0 p 1 q b_data 0 r 1 s dtype: object 

Összefűzés hozzáfűzéssel

Az append metódus hasznos parancsikon a Series és a DataFrame összefűzéséhez.

Példa:

 import pandas as pd one = pd.DataFrame({ 'Name': ['Parker', 'Smith', 'Allen', 'John', 'Parker'], 'subject_id':['sub1','sub2','sub4','sub6','sub5'], 'Marks_scored':[98,90,87,69,78]}, index=[1,2,3,4,5]) two = pd.DataFrame({ 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5'], 'Marks_scored':[89,80,79,97,88]}, index=[1,2,3,4,5]) print (one.append(two)) 

Kimenet

 Name subject_id Marks_scored 1 Parker sub1 98 2 Smith sub2 90 3 Allen sub4 87 4 John sub6 69 5 Parker sub5 78 1 Billy sub2 89 2 Brian sub4 80 3 Bran sub3 79 4 Bryce sub6 97 5 Betty sub5 88