logo

Pandų sujungimas

„Pandas“ gali derinti serijos, duomenų rėmelio ir skydelio objektus, naudodama įvairių tipų rinkinių logiką, skirtą indeksams ir reliacinės algebros funkcijoms.

The concat () funkcija yra atsakinga už sujungimo operaciją išilgai ašies duomenų rėmelyje.

Sintaksė:

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

Parametrai:

    objs:Tai serijų arba „DataFrame“ objektų seka arba atvaizdavimas.
    Jei „DataFrame“ perduodame diktą, surūšiuoti raktai bus naudojami kaip raktų argumentą, ir tokiu atveju reikšmės bus pasirinktos. Jei yra kokių nors neobjektų, jis bus atmestas, nebent jų visų nėra, ir šiuo atveju ValueError bus pakeltas.ašis:Tai ašis, išilgai jungiama.prisijungti:Atsakingas už indeksų tvarkymą kitoje ašyje.join_axes:Rodyklės objektų sąrašas. Užuot atlikę vidinę ar išorinę rinkinio logiką, konkretūs indeksai naudojami kitai (n-1) ašiai.ignore_index:bool, numatytoji reikšmė False
    Jame nenaudojamos indekso reikšmės sujungimo ašyje, jei tiesa. Gauta ašis bus pažymėta kaip 0, ..., n - 1.

Grąžina

Serija grąžinama, kai sujungiame visas serijas išilgai ašies (ašis = 0). Tuo atveju, jei objs yra bent vienas DataFrame, jis grąžina DataFrame.

1 pavyzdys:

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

Išvestis

 0 p 1 q 0 r 1 s dtype: object 

2 pavyzdys: Aukščiau pateiktame pavyzdyje galime iš naujo nustatyti esamą indeksą naudodami ignoruoti_indeksą parametras. Žemiau pateiktas kodas parodo, kaip veikia ignoruoti_indeksą .

 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) 

Išvestis

 0 p 1 q 2 r 3 s dtype: object 

3 pavyzdys: Mes galime pridėti hierarchinį indeksą atokiausiame duomenų lygyje naudodami raktai parametras.

 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']) 

Išvestis

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

4 pavyzdys: Indekso klavišus galime pažymėti naudodami vardai parametras. Žemiau pateiktas kodas rodo vardų parametrų veikimą.

 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']) 

Išvestis

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

Sujungimas naudojant priedą

Pridėti metodas yra apibrėžiamas kaip naudingas spartusis klavišas, skirtas sujungti Series ir DataFrame.

Pavyzdys:

 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)) 

Išvestis

k artimiausias kaimynas
 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