Naučite se združiti podatkovne okvire v Pythonu

Naučite se združiti podatkovne okvire v Pythonu

Če uporabljate Python, tudi za najpreprostejša opravila, se verjetno zavedate pomena njegovih knjižnic tretjih oseb. Knjižnica Pandas z odlično podporo za DataFrames je ena takih knjižnic.





V Python DataFrames lahko uvozite več vrst datotek in ustvarite različne različice za shranjevanje različnih nizov podatkov. Ko svoje podatke uvozite s pomočjo DataFrames, jih lahko združite in izvedete podrobno analizo.





Spopadanje z osnovami

Preden začnete z združevanjem, morate imeti DataFrames za združevanje. Za razvojne namene lahko ustvarite nekaj navideznih podatkov za eksperimentiranje.





Ustvarite DataFrames v Pythonu

Kot prvi korak uvozite knjižnico Pandas v datoteko Python. Pandas je knjižnica drugega proizvajalca, ki obravnava DataFrames v Pythonu. Lahko uporabite uvoz izjava za uporabo knjižnice, kot sledi:

import pandas as pd

Imenu knjižnice lahko dodelite vzdevek, da skrajšate reference kode.



Ustvariti morate slovarje, ki jih lahko pretvorite v DataFrames. Za najboljše rezultate ustvarite dve slovarski spremenljivki – dict1 in dict2— za shranjevanje določenih informacij:

nekdo me je blokiral na facebooku, kako lahko vidim njihov profil
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]}

Ne pozabite, da morate imeti skupni element v obeh vrednostih slovarja, da bo deloval kot primarni ključ za kasnejše združevanje vaših DataFrames.





Pretvorite svoje slovarje v podatkovne okvire

Če želite pretvoriti svoje slovarske vrednosti v DataFrames, lahko uporabite naslednjo metodo:

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

Nekateri IDE vam omogočajo preverjanje vrednosti v DataFrame tako, da se sklicujete na funkcijo DataFrame in pritisnete Zaženi/Izvedi . Veliko jih je IDE-ji, združljivi s Pythonom , tako da lahko izberete tisto, ki se je najlažje naučite.





  Delček kode Jupyter Notebook

Ko ste zadovoljni z vsebino vaših DataFrames, lahko nadaljujete na korak združevanja.

Združevanje okvirjev s funkcijo spajanja

Funkcija spajanja je prva funkcija Python, ki jo lahko uporabite za združevanje dveh podatkovnih okvirjev. Ta funkcija sprejme naslednje privzete argumente:

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

Kje:

  • pd je vzdevek za knjižnico Pandas.
  • združiti je funkcija, ki združuje DataFrames.
  • DataFrame1 in DataFrame2 sta dva podatkovna okvira za združitev.
  • kako definira vrsto spajanja.

Na voljo je nekaj dodatnih izbirnih argumentov, ki jih lahko uporabite, če imate kompleksno strukturo podatkov.

Uporabite lahko različne vrednosti za parameter how, da določite vrsto spajanja, ki ga želite izvesti. Te vrste spajanja vam bodo znane uporabil SQL za združevanje tabel baze podatkov .

Levo spajanje

Levi tip spajanja ohrani vrednosti prvega podatkovnega okvira nedotaknjene in potegne ujemajoče se vrednosti iz drugega podatkovnega okvira.

  Delček kode Jupyter Notebook

Desno združi

Pravi tip spajanja ohrani vrednosti drugega podatkovnega okvira nedotaknjene in potegne ujemajoče se vrednosti iz prvega podatkovnega okvira.

  Delček kode Jupyter Notebook

Notranje spajanje

Tip notranjega združevanja obdrži ujemajoče se vrednosti iz obeh DataFrames in odstrani neujemajoče se vrednosti.

kako kopirati datoteke iz enega računalnika v drugega
  Delček kode Jupyter Notebook

Zunanje spajanje

Tip zunanjega spajanja obdrži vse ujemajoče se in neujemajoče se vrednosti ter združuje podatkovne okvire skupaj.

  Delček kode Jupyter Notebook

Kako uporabljati funkcijo Concat

The concat funkcija je prilagodljiva možnost v primerjavi z nekaterimi drugimi funkcijami spajanja v Pythonu. S funkcijo concat lahko podatkovne okvire kombinirate navpično in vodoravno.

Vendar pa je pomanjkljivost uporabe te funkcije ta, da privzeto zavrže vse neujemajoče se vrednosti. Tako kot nekatere druge sorodne funkcije ima tudi ta funkcija nekaj argumentov, od katerih je le nekaj bistvenih za uspešno veriženje.

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

Kje:

  • concat je funkcija, ki združuje DataFrames.
  • podatkovni okviri je zaporedje DataFrames za združevanje.
  • os predstavlja smer veriženja, pri čemer je 0 vodoravna, 1 navpična.
  • pridruži se določa zunanjo ali notranjo združitev.

Z uporabo zgornjih dveh podatkovnih okvirjev lahko preizkusite funkcijo concat na naslednji 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)

Odsotnost argumentov osi in spoja v zgornji kodi združuje oba nabora podatkov. Končni izhod vsebuje vse vnose, ne glede na status ujemanja.

Podobno lahko uporabite dodatne argumente za nadzor smeri in izhoda funkcije concat.

Za nadzor izhoda z vsemi ujemajočimi se vnosi:

# 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 vsebuje vse ujemajoče se vrednosti samo med dvema podatkovnima okvirjema.

  Delček kode Jupyter Notebook

Združevanje DataFrames s Pythonom

DataFrames so sestavni del Pythona, glede na njihovo prilagodljivost in funkcionalnost. Glede na njihovo večplastno uporabo jih lahko obsežno uporabljate za opravljanje različnih nalog z izjemno lahkoto.

kako spremeniti privzeti račun v Gmailu

Če se še vedno učite o Python DataFrames, poskusite uvoziti nekaj Excelovih datotek, nato pa jih združite z različnimi pristopi.