Přejít na hlavní obsah

Jak vytisknout podmíněné řádky v Pandas

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.