Přečtěte si, jak sloučit datové rámce v Pythonu

Přečtěte si, jak sloučit datové rámce v Pythonu

Pokud používáte Python, dokonce i pro ty nejjednodušší úkoly, pravděpodobně si uvědomujete důležitost jeho knihoven třetích stran. Knihovna Pandas se svou vynikající podporou pro DataFrames je jednou z takových knihoven.





Do datových rámců Pythonu můžete importovat více typů souborů a vytvářet různé verze pro ukládání různých sad dat. Jakmile importujete data pomocí DataFrames, můžete je sloučit a provést podrobnou analýzu.





Zvládnutí základů

Než začnete se slučováním, musíte mít DataFrames ke sloučení. Pro účely vývoje můžete vytvořit nějaká fiktivní data, se kterými budete experimentovat.





Vytvořte DataFrames v Pythonu

Jako první krok importujte knihovnu Pandas do vašeho Python souboru. Pandas je knihovna třetí strany, která zpracovává DataFrames v Pythonu. Můžete použít import prohlášení k používání knihovny takto:

import pandas as pd

K názvu knihovny můžete přiřadit alias a zkrátit tak odkazy na kód.



Potřebujete vytvořit slovníky, které můžete převést na DataFrames. Nejlepších výsledků dosáhnete vytvořením dvou proměnných slovníku – diktát1 a diktát 2 — pro uložení konkrétních informací:

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

Pamatujte, že musíte mít společný prvek v obou hodnotách slovníku, aby fungoval jako primární klíč pro pozdější kombinování vašich datových rámců.





Převeďte své slovníky do datových rámců

Chcete-li převést hodnoty slovníku na DataFrames, můžete použít následující metodu:

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

Některá IDE umožňují zkontrolovat hodnoty v DataFrame odkazem na funkci DataFrame a stisknutím Spustit/provést . Je jich mnoho IDE kompatibilní s Pythonem , takže si můžete vybrat ten, který je pro vás nejjednodušší se naučit.





mohou mít dva počítače stejnou IP adresu
  Úryvek kódu notebooku Jupyter

Jakmile budete spokojeni s obsahem vašich DataFrames, můžete přejít ke kroku sloučení.

Kombinace rámců s funkcí sloučení

Funkce sloučení je první funkcí Pythonu, kterou můžete použít ke spojení dvou datových rámců. Tato funkce přebírá následující výchozí argumenty:

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

Kde:

  • pd je alias knihovny Pandas.
  • spojit je funkce, která spojuje DataFrames.
  • DataFrame1 a DataFrame2 jsou dva DataFrames ke sloučení.
  • jak definuje typ sloučení.

K dispozici jsou některé další volitelné argumenty, které můžete použít, když máte složitou datovou strukturu.

Můžete použít různé hodnoty pro parametr how k definování typu sloučení, které se má provést. Tyto typy sloučení vám budou známé používá SQL ke spojení databázových tabulek .

Levé sloučení

Levý typ sloučení zachová hodnoty prvního DataFrame nedotčené a vytáhne odpovídající hodnoty z druhého DataFrame.

  Úryvek kódu notebooku Jupyter

Správné sloučení

Správný typ sloučení zachová hodnoty druhého DataFrame nedotčené a stáhne odpovídající hodnoty z prvního DataFrame.

platnost této verze oken brzy vyprší
  Úryvek kódu notebooku Jupyter

Vnitřní sloučení

Vnitřní typ sloučení zachová odpovídající hodnoty z obou DataFrame a odstraní neshodné hodnoty.

  Úryvek kódu notebooku Jupyter

Vnější sloučení

Vnější typ sloučení zachovává všechny odpovídající a neodpovídající hodnoty a konsoliduje DataFrames dohromady.

  Úryvek kódu notebooku Jupyter

Jak používat funkci Concat

The konkat funkce je flexibilní možnost ve srovnání s některými dalšími funkcemi sloučení Pythonu. Pomocí funkce concat můžete kombinovat DataFrames vertikálně a horizontálně.

Nevýhodou použití této funkce je však to, že ve výchozím nastavení zahodí všechny neodpovídající hodnoty. Stejně jako některé další související funkce má tato funkce několik argumentů, z nichž pouze několik je nezbytných pro úspěšné zřetězení.

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

Kde:

s21 vs iphone 12 pro max
  • konkat je funkce, která spojuje DataFrames.
  • datové rámce je posloupnost DataFrames ke zřetězení.
  • osa představuje směr zřetězení, 0 je horizontální, 1 je vertikální.
  • připojit určuje buď vnější nebo vnitřní spojení.

Pomocí výše uvedených dvou DataFrames můžete vyzkoušet funkci concat následovně:

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

Absence argumentů osy a spojení ve výše uvedeném kódu kombinuje tyto dvě datové sady. Výsledný výstup obsahuje všechny položky bez ohledu na stav shody.

Podobně můžete použít další argumenty k řízení směru a výstupu funkce concat.

Chcete-li ovládat výstup se všemi odpovídajícími položkami:

# 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ýsledek obsahuje všechny odpovídající hodnoty pouze mezi dvěma DataFrames.

  Úryvek kódu notebooku Jupyter

Sloučení datových rámců s Pythonem

DataFrames jsou nedílnou součástí Pythonu s ohledem na jejich flexibilitu a funkčnost. Vzhledem k jejich mnohostrannému použití je můžete široce používat k provádění různých úkolů s maximální lehkostí.

Pokud se stále učíte o Python DataFrames, zkuste importovat nějaké soubory Excelu a pak je kombinovat s různými přístupy.