Ve světě analýzy dat existuje mnoho nástrojů a knihoven, ale jedním z nejpopulárnějších mezi odborníky je knihovna Pandas. Díky své kapacitě a flexibilitě se stala nedílnou součástí práce s daty v Pythonu.
Jedním z nejčastějších úkolů v analýze dat je filtrování dat za určitých podmínek. A právě k tomu se Pandas zcela hodí. Pomocí něj lze snadno a efektivně najít řádky, které odpovídají daným podmínkám.
K tomu Pandas používá metodu query(), který umožňuje vzorkování dat podle dané logické podmínky. Lze použít i metodu loc(), který je založen na použití explicitního indexování.
Je třeba poznamenat, že Pandas nabízí mnoho možností pro práci s daty jakékoli složitosti. To znamená, že budete moci nejen filtrovat řádky podle několika podmínek, ale také seskupovat, agregovat data, převádět datové typy a další.
Jedním z nejužitečnějších nástrojů Pandas je metoda loc , která Vám umožňuje vybrat řádky podle dané podmínky. To může být užitečné, když potřebujete filtrovat pouze určité řádky podle některých kritérií.
Chcete-li použít metodu loc , musíte definovat podmínku a převést ji do metody jako argument. Podmínkou může být jakýkoli typ dat, včetně čísel, řádků nebo bulev hodnoty.
Pokud například máte DataFrame s údaji o produktech a chcete najít všechny řádky, kde je hodnota produktu větší než 1000, můžete použít následující kód:
df.loc[df['цена'] > 1000]
Tento kód vybere všechny řádky, kde hodnota produktu přesahuje 1000 a vrátí je v novém DataFrame. Podmínky můžete také kombinovat pomocí logických operátorů:
df.loc[(df['цена'] > 1000) & (df['количество'] > 10)]
Tento kód vybere pouze ty řádky, kde je hodnota produktu větší než 1000 a počet produktů je více než 10.
Metoda loc v Pandas je tedy výkonným nástrojem pro výběr řádků podle dané podmínky. Umožňuje snadno filtrovat data a provádět složité operace s vybranými řádky.
Jak používat funkci query k filtrování dat
Knihovna Pandas poskytuje různé nástroje pro práci s daty, včetně výkonné metody query(). Tato metoda umožňuje filtrovat data pomocí výrazů v řádku, díky čemuž je extrémně flexibilní a snadno použitelný.
Metoda query() umožňuje nastavit podmínky pro filtrování dat ve formě řetězcových výrazů podobných těm, které se používají v jazyce dotazů SQL. Automaticky interpretuje výraz a vrací pouze řádky, které splňují danou podmínku.
Chcete-li použít metodu query (), musíte předem vytvořit objekt DataFrame v knihovně Pandas. Poté lze na tento objekt použít metodu query() k filtrování dat. Níže je uveden příklad použití metody query () k filtrování dat podle podmínky:
import pandas as pddata = df = pd.DataFrame(data)filtered_df = df.query("Age > 30")print(filtered_df)# Output:# Name Age City# 2 Peter 35 Paris# 3 Olivia 40 Sydney
V tomto příkladu jsme vytvořili objekt DataFrame z datového slovníku a použili jsme metodu query() k filtrování dat podle podmínky "Age > 30". Výsledkem je, že jsme obdrželi pouze ty řádky, ve kterých je více než 30 let. V tomto případě jsou to řádky s názvy "Peter"a " Olivia".
Metoda query () také poskytuje možnost používat logické operátory, jako jsou "and", "or" a "not". To nám umožňuje vytvářet složitější podmínky pro filtrování dat. Například:
filtered_df = df.query("Age > 30 and City == 'Paris'")# Output:# Name Age City# 2 Peter 35 Paris
V tomto příkladu jsme přidali další podmínku "City = = 'Paris' "do předchozího filtru"Age > 30". Výsledkem byl pouze jeden řádek s názvem "Peter" a "Paris".
Funkce query () poskytuje výkonný a pohodlný způsob filtrování dat v knihovně Pandas. Jeho použití umožňuje snížit množství kódu a zjednodušit proces filtrování dat. Díky řetězcovým výrazům umožňuje query () také vytvářet složité a flexibilní podmínky pro filtrování dat.