Naučite kako spojiti podatkovne okvire u Pythonu

Naučite kako spojiti podatkovne okvire u Pythonu

Ako koristite Python, čak i za najjednostavnije zadatke, vjerojatno ste svjesni važnosti njegovih biblioteka trećih strana. Knjižnica Pandas, sa svojom izvrsnom podrškom za DataFrames, jedna je takva biblioteka.





Možete uvesti više vrsta datoteka u Python DataFrames i stvoriti različite verzije za pohranu različitih skupova podataka. Nakon što uvezete podatke pomoću DataFramesa, možete ih spojiti kako biste izvršili detaljnu analizu.





Baviti se osnovama

Prije nego počnete sa spajanjem, morate imati DataFrames za spajanje. U svrhu razvoja, možete stvoriti neke lažne podatke za eksperimentiranje.





Stvorite DataFrames u Pythonu

Kao prvi korak, uvezite biblioteku Pandas u svoju Python datoteku. Pandas je biblioteka treće strane koja obrađuje DataFrames u Pythonu. Možete koristiti uvoz izjavu o korištenju knjižnice, kako slijedi:

import pandas as pd

Nazivu knjižnice možete dodijeliti pseudonim kako biste skratili svoje reference koda.



Morate izraditi rječnike koje možete pretvoriti u DataFrames. Za najbolje rezultate stvorite dvije varijable rječnika— dict1 i dict2— za pohranjivanje određenih informacija:

kako stvoriti iso datoteku windows 7
dict1 = {"user_id": ["001", "002", "003", "004", "005"], 
"FName": ["John", "Brad", "Ron", "Roald", "Chris"],
"LName": ["Harley", "Cohen", "Dahl", "Harrington", "Kerr-Hislop"]}

dict2 = {"user_id": ["001", "002", "003", "004"], "Age": [15, 28, 34, 24]}

Upamtite, morate imati zajednički element u vrijednostima oba rječnika, kako bi djelovao kao primarni ključ za kasnije kombiniranje vaših DataFramesa.





Pretvorite svoje rječnike u podatkovne okvire

Za pretvaranje vrijednosti vašeg rječnika u DataFrames, možete koristiti sljedeću metodu:

df1 = pd.DataFrame(dict1) 
df2 = pd.DataFrame(dict2)

Neki IDE vam omogućuju provjeru vrijednosti unutar DataFramea upućivanjem na funkciju DataFrame i pritiskom Pokreni/Izvrši . Mnogo ih je IDE-ovi kompatibilni s Python-om , tako da možete odabrati onaj koji vam je najlakši za naučiti.





  Isječak koda za Jupyter Notebook

Nakon što ste zadovoljni sadržajem svojih DataFramesa, možete prijeći na korak spajanja.

Kombiniranje okvira s funkcijom spajanja

Funkcija spajanja je prva Python funkcija koju možete koristiti za kombiniranje dva DataFramea. Ova funkcija uzima sljedeće zadane argumente:

pd.merge(DataFrame1, DataFrame2, how= type of merge)

Gdje:

  • pd je alias za biblioteku Pandas.
  • sjediniti je funkcija koja spaja DataFrames.
  • DataFrame1 i DataFrame2 su dva DataFramea za spajanje.
  • kako definira tip spajanja.

Dostupni su neki dodatni izborni argumenti koje možete koristiti kada imate složenu strukturu podataka.

Možete koristiti različite vrijednosti za parametar how kako biste definirali vrstu spajanja koju treba provesti. Ove vrste spajanja bit će vam poznate ako ste koristio SQL za spajanje tablica baze podataka .

Lijevo spajanje

Lijeva vrsta spajanja zadržava vrijednosti prvog DataFramea netaknutima i povlači odgovarajuće vrijednosti iz drugog DataFramea.

  Isječak koda za Jupyter Notebook

Desno spajanje

Ispravna vrsta spajanja čuva vrijednosti drugog DataFramea netaknutima i povlači odgovarajuće vrijednosti iz prvog DataFramea.

  Isječak koda za Jupyter Notebook

Unutarnje spajanje

Vrsta unutarnjeg spajanja zadržava podudarne vrijednosti iz oba DataFramea i uklanja vrijednosti koje se ne podudaraju.

ne mogu pronaći svoj facebook račun
  Isječak koda za Jupyter Notebook

Vanjsko spajanje

Tip vanjskog spajanja zadržava sve podudarne i nepodudarne vrijednosti i konsolidira DataFrames zajedno.

  Isječak koda za Jupyter Notebook

Kako koristiti funkciju Concat

The concat funkcija je fleksibilna opcija u usporedbi s nekim drugim Pythonovim funkcijama spajanja. Pomoću funkcije concat možete kombinirati DataFrames okomito i vodoravno.

Međutim, nedostatak korištenja ove funkcije je taj što prema zadanim postavkama odbacuje sve vrijednosti koje se ne podudaraju. Kao i neke druge povezane funkcije, ova funkcija ima nekoliko argumenata, od kojih je samo nekoliko neophodno za uspješno spajanje.

concat(dataframes, axis=0, join='outer'/inner)

Gdje:

  • concat je funkcija koja pridružuje DataFrames.
  • podatkovni okviri je slijed okvira podataka za ulančavanje.
  • os predstavlja smjer ulančavanja, 0 je horizontalno, 1 je okomito.
  • pridružiti specificira vanjsko ili unutarnje spajanje.

Koristeći gornja dva DataFramesa, možete isprobati funkciju concat na sljedeći način:

# define the dataframes in a list format 
df_merged_concat = pd.concat([df1, df2])

# print the results of the Concat function
print(df_merged_concat)

Nepostojanje argumenata osi i spoja u gornjem kodu kombinira dva skupa podataka. Rezultirajući izlaz ima sve unose, bez obzira na status podudaranja.

Slično, možete koristiti dodatne argumente za kontrolu smjera i izlaza funkcije concat.

kako mogu besplatno saznati kome pripada telefonski broj?

Za kontrolu izlaza sa svim odgovarajućim unosima:

# Concatenating all matching values between the two dataframes based on their columns 
df_merged_concat = pd.concat([df1, df2], axis=1, join = 'inner')

print(df_merged_concat)

Rezultat sadrži sve podudarne vrijednosti samo između dva okvira podataka.

  Isječak koda za Jupyter Notebook

Spajanje DataFramesa s Pythonom

DataFramesi su sastavni dio Pythona s obzirom na njihovu fleksibilnost i funkcionalnost. S obzirom na njihovu višestruku upotrebu, možete ih opsežno koristiti za obavljanje raznih zadataka s najvećom lakoćom.

Ako još uvijek učite o Python DataFrames, pokušajte uvesti neke Excel datoteke, a zatim ih kombinirajte s različitim pristupima.