Filtrování řádků v Pandas DataFrames
Pandas je výkonná knihovna v Pythonu pro manipulaci a analýzu dat. Běžným úkolem je výběr řádků z DataFrame na základě hodnot sloupců, podobně jako SQL tabulka SELECT * FROM WHERE název_sloupce = nějaká_hodnota.
Tato příručka vás provede různými metodami, jak toho v Pandas dosáhnout, což usnadní efektivní filtrování dat. Ať už jste začátečník nebo zkušený uživatel, tyto tipy rozšíří vaše dovednosti v oblasti zpracování dat.
Příkaz | Popis |
---|---|
pd.DataFrame(data) | Vytvoří DataFrame ze slovníku dat. |
df[column_name] | Přistupuje ke sloupci v DataFrame podle názvu. |
df[condition] | Filtruje DataFrame na základě podmínky aplikované na sloupec. |
print(selected_rows) | Vytiskne DataFrame nebo jeho podmnožinu do konzoly. |
df[df['Age'] >df[df['Age'] > 25] | Vybere řádky, kde jsou hodnoty ve sloupci 'Věk' větší než 25. |
df[df['City'] == 'Chicago'] | Vybere řádky, kde se hodnoty sloupce 'City' rovnají 'Chicago'. |
Porozumění výběru řádků DataFrame v Pandas
Poskytnuté skripty ukazují, jak vybrat řádky z DataFrame na základě hodnot sloupců pomocí knihovny Pandas v Pythonu. První skript začíná importem knihovny Pandas s příkaz. Poté vytvoří ukázkový DataFrame pomocí slovníku dat, který se převede na DataFrame s příkaz. Skript pak ilustruje dvě metody výběru řádků: výběr řádků, kde je hodnota sloupce 'Věk' větší než 25 pomocí a výběrem řádků, kde je ve sloupci 'City' hodnota 'Chicago' pomocí df[df['City'] == 'Chicago']. Tyto filtrované DataFrames se tisknou pomocí funkce pro zobrazení vybraných řádků.
Druhý skript má podobnou strukturu, ale používá jiná data a kritéria výběru. Vytvoří DataFrame s informacemi o produktu, včetně sloupců 'Produkt', 'Cena' a 'Stock'. Vybírají se řádky, kde je 'Cena' menší nebo rovna 200 s
Pokročilé techniky pro výběr řádků DataFrame v Pandas
Kromě základního filtrování pomocí booleovského indexování nabízí Pandas pokročilé techniky pro výběr řádků na základě hodnot sloupců. Jednou mocnou metodou je použití funkce, která umožňuje filtrovat řádky pomocí výrazu dotazu, díky čemuž je syntaxe čistší a často intuitivnější. Například místo použití , můžeš psát . Tato metoda je užitečná zejména při řešení složitějších podmínek nebo když názvy sloupců obsahují mezery. Kromě toho, isin() Funkce je užitečná, když chcete filtrovat řádky na základě seznamu hodnot. Chcete-li například vybrat řádky, kde je hodnota sloupce 'City' buď 'Chicago' nebo 'New York', můžete použít .
Další technika zahrnuje a indexátory. The indexer je založen na štítcích a umožňuje vám vybrat řádky na základě štítků řádků a názvů sloupců iloc je založen na celočíselných umístěních a umožňuje výběr podle čísel řádků a sloupců. Tato flexibilita je užitečná zejména pro výběr řádků na základě podmínky aplikované na jiný sloupec. Například, vrátí jména osob starších 25 let. Tyto metody rozšiřují vaši sadu nástrojů pro efektivní manipulaci a analýzu dat v Pandas a nabízejí čitelnější a udržitelnější kód.
- Jak mohu vybrat řádky na základě více podmínek?
- Můžete použít funkce nebo kombinovat podmínky s logickými operátory jako a . Například, df[(df['Age'] > 25) & (df['City'] == 'Chicago')].
- Mohu filtrovat řádky na základě seznamu hodnot?
- Ano, použijte funkce. Například, .
- Jaký je rozdíl mezi a ?
- je založen na štítku, zatímco je založen na celočíselném umístění. Použití s popisky řádků/sloupců a iloc s řádkovými/sloupcovými indexy.
- Jak mohu vybrat konkrétní sloupce při filtrování řádků?
- Můžeš použít . Například, .
- Jak naložím s chybějícími hodnotami při výběru řádků?
- Použijte funkce pro odstranění řádků s chybějícími hodnotami, popř nahradit je zadanou hodnotou.
- Mohu použít regulární výrazy k filtrování řádků?
- Ano, funkce s umožňuje filtrovat řádky na základě vzorů regulárních výrazů. Například, .
- Jak mohu filtrovat řádky na základě indexu?
- Můžeš použít s názvem indexu. Například, .
- Co když názvy sloupců obsahují mezery nebo speciální znaky?
- Použijte funkce, která dokáže zpracovat takové názvy sloupců se zpětným zaškrtnutím. Například, .
Závěrečné úvahy o technikách výběru řádků DataFrame
Výběr řádků z DataFrame na základě hodnot sloupců v Pandas je zásadní dovedností pro manipulaci s daty. Různé diskutované metody, včetně booleovského indexování, , a indexování na základě štítků a celočíselných umístění pomocí a ilocposkytují výkonné nástroje pro efektivní filtrování dat. Zvládnutí těchto technik umožňuje lepší analýzu dat a čistší a lépe udržovatelný kód.