Merge je jednou z nejvýkonnějších a nejpoužívanějších metod knihovny pandas. Tato metoda umožňuje sloučit data z více zdrojů do jedné kombinované datové sady. Merge poskytuje flexibilní a pohodlnou možnost připojení dat k jednomu nebo více sloupcům, což umožňuje zpracování a analýzu dat na vyšší úrovni.
Pomocí metody merge lze provést několik typů sloučení dat, včetně sloučení sloupců se společnými hodnotami, sloučení sloupců s různými hodnotami, sloučení indexů a dalších. V závislosti na požadovaných výsledcích je také možné zvolit typ sloučení, jako je vnitřní, vnější, levostranné nebo pravostranné spojení.
Při použití metody merge v pandas je možné různé kombinace datových kombinací, včetně sloučení dvou DataFrame do jednoho sloupce, sloučení více DataFrame do více sloupců, sloučení DataFrame do indexu a dalších. Díky tomu je metoda merge nepostradatelným nástrojem pro analýzu, zpracování a přípravu dat v pandas.
Sloučení dat podle sloupce se společnými hodnotami
Knihovna pandas má praktickou metodu merge, která Vám umožňuje sloučit dva DataFrame podle konkrétního sloupce se společnými hodnotami. To může být užitečné, když chcete sloučit data z různých zdrojů na základě sdílených klíčů.
Nejprve musíte importovat knihovnu pandas:
import pandas as pd
Předpokládejme, že máme dva DataFrame-df1 a df2:
df1 = pd.DataFrame()df2 = pd.DataFrame()
Chceme data sloučit podle sloupce 'key'. K tomu používáme metodu merge:
merged_df = pd.merge(df1, df2, on='key')
Výsledkem je nový DataFrame-merged_df, který obsahuje pouze řádky, kde se hodnoty sloupce ' key ' shodují v obou původních DataFrame:
key value1 value20 B 2 51 D 4 6
Ve výchozím nastavení merge provádí interní sloučení dat, to znamená, že v novém DataFrame zůstávají pouze řádky, kde se hodnoty sloupce 'key' shodují. Pokud chcete uložit všechny řádky z obou DataFrame, použijte možnost how= 'outer':
merged_df = pd.merge(df1, df2, on='key', how='outer')
Je také možné provést levé nebo pravé sloučení dat pomocí možností how= 'left'a how=' right'.
Metoda merge v pandas poskytuje výkonný nástroj pro kombinování dat podle celkových hodnot sloupců. Umožňuje flexibilně nastavit podmínky pro sjednocení a provádět různé typy sloučenin.
Sloučení dat do více sloupců se společnými hodnotami
Někdy data, která chceme sloučit, obsahují několik sloupců, které mohou sloužit jako společné hodnoty pro sjednocení. Můžeme mít například dvě sady prodejních dat, kde sloupce Datum a produkt mohou sloužit jako obecné hodnoty. V takovém případě můžeme použít funkci merge v pandas ke sloučení dat společně v těchto sloupcích.
Chcete-li sloučit data do více sloupců se společnými hodnotami, můžeme předat seznam těchto sloupců v možnosti "on" funkce merge. Například:
merged_data = pd.merge(data1, data2, on=['Дата', 'Продукт'])
Tato operace sloučí data ze dvou datových sad data1 a data2 podle hodnot sloupců datum a produkt. Výsledkem bude nová datová sada merged_data obsahující obecné hodnoty v těchto sloupcích. Pokud mají sloupce různá jména v různých datových sadách, můžeme použít možnosti "left_on" a "right_on" k zadání příslušných názvů sloupců.
Při kombinování dat do více sloupců se společnými hodnotami je důležité vzít v úvahu, že hodnoty v těchto sloupcích by se měly přesně shodovat. Pokud se hodnoty přesně neshodují, pak se řádky nespojí.
Sloučení dat do více sloupců se společnými hodnotami je tedy výkonným nástrojem pro analýzu a zpracování dat, který umožňuje propojení dat z různých zdrojů na základě několika společných hodnot.
Slučování dat pomocí externího spojení
K provedení externího sloučení se v Pandas používá metoda merge(). Při použití této metody je nutné zadat dva objekty DataFrame, které je třeba sloučit, a možnosti on a how.
Parametr on označuje sloupec nebo sloupce, podle kterých bude provedeno sloučení dat. Pokud je třeba sloučit více sloupců, jsou uvedeny jako seznam.
Parametr how určuje typ kombinace dat. V případě externího sloučení (outer merge) jsou všechny řádky z obou tabulek uloženy a chybějící hodnoty jsou vyplněny hodnotou NaN.
Zde je příklad použití externího spojení:
df1 = pd.DataFrame()df2 = pd.DataFrame()merged_df = pd.merge(df1, df2, on='id', how='outer')print(merged_df)
Výsledek provádění kódu bude následující:
id name age0 1 John NaN1 2 Anna 252 3 Peter 303 4 NaN 35
V důsledku externího sloučení tedy dostaneme tabulku, ve které jsou všechny řádky z obou původních tabulek uloženy a chybějící hodnoty jsou vyplněny hodnotou NaN.
Externí sloučení je užitečným nástrojem pro sloučení dat z více zdrojů, když je nutné uložit všechna dostupná data. Tato metoda umožňuje snadné sloučení tabulek s různými velikostmi a strukturou dat.
Sjednocení dat pomocí interního spojení
K provedení interního sjednocení se v pandas používá metoda merge (). Bere dva DataFrame jako argumenty a kombinuje je podle konkrétních sloupců nebo indexů.
Proces kombinování dat pomocí interního sloučení může být reprezentován následujícími kroky:
- Nahrajte data do dvou samostatných DataFrame.
- Zadejte sloupce nebo indexy, podle kterých chcete data sloučit.
- Zavolejte metodu merge () a předejte dva DataFrame jako argumenty.
- Zadejte typ sloučení (v tomto případě interní sloučení) pomocí možnosti how='inner' .
Máme například dvě tabulky-orders A customers:
import pandas as pdorders = pd.DataFrame()customers = pd.DataFrame()
Chcete-li provést interní sloučení podle sloupce 'customer_id', můžete použít následující kód:
merged_data = pd.merge(orders, customers, on='customer_id', how='inner')
Výsledkem bude nová tabulka merged_data, která bude obsahovat pouze řádky se společnými hodnotami ve sloupci 'customer_id' z tabulek orders A customers.
Interní sloučení umožňuje sloučit data pouze v řádcích, kde jsou společné hodnoty, a vyloučit všechny ostatní řádky. To je velmi užitečné, když potřebujete získat pouze údaje, které splňují určitá kritéria nebo podmínky.