Zistite, ako zlúčiť dátové rámce v Pythone

Zistite, ako zlúčiť dátové rámce v Pythone

Ak používate Python, dokonca aj na tie najjednoduchšie úlohy, pravdepodobne si uvedomujete dôležitosť jeho knižníc tretích strán. Knižnica Pandas s vynikajúcou podporou pre DataFrames je jednou z takýchto knižníc.





Do Python DataFrames môžete importovať viacero typov súborov a vytvárať rôzne verzie na ukladanie rôznych množín údajov. Po importovaní údajov pomocou dátových rámov ich môžete zlúčiť a vykonať podrobnú analýzu.





Riešenie základov

Skôr ako začnete so zlučovaním, musíte mať DataFrames na zlúčenie. Na účely vývoja môžete vytvoriť nejaké fiktívne údaje, s ktorými budete experimentovať.





Vytvorte DataFrames v Pythone

Ako prvý krok importujte knižnicu Pandas do svojho súboru Python. Pandas je knižnica tretej strany, ktorá spracováva DataFrames v Pythone. Môžete použiť importovať vyhlásenie na používanie knižnice takto:

import pandas as pd

K názvu knižnice môžete priradiť alias, aby ste skrátili odkazy na kód.



okná nerozpoznávajú externý pevný disk

Potrebujete vytvoriť slovníky, ktoré môžete previesť na DataFrames. Najlepšie výsledky dosiahnete vytvorením dvoch premenných slovníka – diktát1 a diktát2- na ukladanie konkrétnych informácií:

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]}

Pamätajte, že v oboch hodnotách slovníka musíte mať spoločný prvok, ktorý bude fungovať ako primárny kľúč na neskoršie kombinovanie vašich dátových rámov.





Premeňte svoje slovníky na dátové rámce

Ak chcete previesť hodnoty slovníka na DataFrames, môžete použiť nasledujúcu metódu:

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

Niektoré IDE vám umožňujú skontrolovať hodnoty v rámci DataFrame odkazom na funkciu DataFrame a stlačením Spustiť/vykonať . Je ich veľa IDE kompatibilné s Python , takže si môžete vybrať ten, ktorý sa vám najjednoduchšie naučí.





  Útržok kódu notebooku Jupyter

Keď ste spokojní s obsahom vašich dátových rámov, môžete prejsť na krok zlúčenia.

Kombinovanie rámcov s funkciou zlučovania

Funkcia zlúčenia je prvá funkcia Pythonu, ktorú môžete použiť na spojenie dvoch dátových rámov. Táto funkcia používa nasledujúce predvolené argumenty:

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

Kde:

  • pd je alias knižnice Pandas.
  • zlúčiť je funkcia, ktorá spája DataFrames.
  • DataFrame1 a DataFrame2 sú dva dátové rámce, ktoré sa majú zlúčiť.
  • ako definuje typ zlúčenia.

K dispozícii sú niektoré dodatočné voliteľné argumenty, ktoré môžete použiť, keď máte zložitú dátovú štruktúru.

Môžete použiť rôzne hodnoty pre parameter how na definovanie typu zlúčenia, ktoré sa má vykonať. Tieto typy zlúčenia vám budú známe používa SQL na spojenie databázových tabuliek .

Ľavé zlúčenie

Ľavý typ zlúčenia zachová hodnoty prvého DataFrame nedotknuté a vytiahne zodpovedajúce hodnoty z druhého DataFrame.

  Útržok kódu notebooku Jupyter

Správne zlúčenie

Správny typ zlúčenia zachová hodnoty druhého DataFrame nedotknuté a vytiahne zodpovedajúce hodnoty z prvého DataFrame.

  Útržok kódu notebooku Jupyter

Vnútorné zlúčenie

Typ vnútorného zlúčenia zachováva zhodné hodnoty z oboch DataFrame a odstraňuje nezhodné hodnoty.

  Útržok kódu notebooku Jupyter

Vonkajšie zlúčenie

Vonkajší typ zlúčenia zachováva všetky zhodné a nezhodné hodnoty a konsoliduje dátové rámce dohromady.

  Útržok kódu notebooku Jupyter

Ako používať funkciu Concat

The konkat funkcia je flexibilná možnosť v porovnaní s niektorými ďalšími funkciami zlúčenia Pythonu. Pomocou funkcie concat môžete kombinovať DataFrame vertikálne a horizontálne.

Nevýhodou použitia tejto funkcie je však to, že štandardne zahodí všetky nezhodné hodnoty. Rovnako ako niektoré ďalšie súvisiace funkcie, aj táto funkcia má niekoľko argumentov, z ktorých len niekoľko je nevyhnutných pre úspešné zreťazenie.

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

Kde:

  • konkat je funkcia, ktorá spája DataFrames.
  • dátové rámce je sekvencia dátových rámcov na zreťazenie.
  • os predstavuje smer zreťazenia, 0 je horizontálny, 1 je vertikálny.
  • pripojiť sa určuje buď vonkajšie alebo vnútorné spojenie.

Pomocou vyššie uvedených dvoch dátových rámov si môžete vyskúšať funkciu concat nasledovne:

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

Neprítomnosť argumentov osi a spojenia vo vyššie uvedenom kóde spája tieto dve množiny údajov. Výsledný výstup obsahuje všetky položky bez ohľadu na stav zhody.

Podobne môžete použiť ďalšie argumenty na ovládanie smeru a výstupu funkcie concat.

Ak chcete ovládať výstup so všetkými zodpovedajúcimi položkami:

koľko stojí adobe acrobat pro
# 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)

Výsledok obsahuje všetky zhodné hodnoty iba medzi dvoma DataFrame.

  Útržok kódu notebooku Jupyter

Zlúčenie dátových rámcov s Pythonom

Dátové rámce sú neoddeliteľnou súčasťou Pythonu vzhľadom na ich flexibilitu a funkčnosť. Vzhľadom na ich mnohostranné využitie ich môžete vo veľkej miere použiť na vykonávanie rôznych úloh s maximálnou ľahkosťou.

Ak sa ešte len učíte o Python DataFrame, skúste importovať nejaké excelové súbory a potom ich skombinujte s rôznymi prístupmi.