Výběr řádků DataFrame na základě hodnot sloupců v Pythonu

Python

Použití Pandas k filtrování datových rámců podle hodnot sloupců

Při práci s daty v Pythonu nabízí knihovna Pandas výkonné nástroje pro manipulaci a analýzu dat. Jedním z běžných úkolů je výběr řádků z DataFrame na základě hodnot v konkrétním sloupci. Tato operace je podobná SQL dotazu: SELECT * FROM tabulka WHERE název_sloupce = nějaká_hodnota.

V tomto článku prozkoumáme, jak toho dosáhnout v Pandas pomocí různých metod. Ať už filtrujete podle jedné hodnoty nebo podle více kritérií, Pandas poskytuje intuitivní a efektivní způsoby, jak takové operace zvládnout. Pojďme se ponořit do detailů.

Příkaz Popis
pd.DataFrame() Vytvoří objekt DataFrame ze slovníku nebo jiných datových struktur.
df[condition] Filtruje řádky DataFrame na základě podmínky a vrací pouze ty, které splňují kritéria.
print() Vyšle zadanou zprávu nebo DataFrame do konzoly.
df['column'] == value Vytvoří logickou řadu použitou k filtrování řádků, kde sloupec odpovídá zadané hodnotě.
df['column'] >df['column'] > value Vytvoří logickou řadu použitou k filtrování řádků, kde jsou hodnoty sloupců větší než zadaná hodnota.
# Comment Používá se k přidání vysvětlení nebo poznámek do kódu, které se nespouštějí jako součást skriptu.

Implementace výběru řádků DataFrame v Pandas

V poskytnutých skriptech je klíčovým úkolem filtrovat řádky z DataFrame na základě konkrétních hodnot sloupců, což je běžný požadavek při analýze dat. První skript začíná importem knihovny Pandas s . To je nezbytné, protože Pandas je výkonná knihovna pro manipulaci s daty v Pythonu. Dále vytvoříme ukázkový DataFrame pomocí se slovníkem obsahujícím údaje o jménech, stáří a městech. Tato struktura nám umožňuje snadno vizualizovat a manipulovat s tabulkovými daty. Rozhodující částí skriptu je, kde filtrujeme řádky pomocí . Tento příkaz vybere všechny řádky, kde je hodnota sloupce města 'New York'. Výsledek se uloží do proměnné ny_rows, který se poté vytiskne a zobrazí se filtrovaný DataFrame.

Druhý skript má podobnou strukturu, ale zaměřuje se na filtrování řádků na základě číselné podmínky. Po importu Pandas a vytvoření DataFrame se sloupci produktu, ceny a množství skript používá pro filtrování řádků, kde je cena vyšší než 150. Tento příkaz vytvoří podmnožinu původního DataFrame obsahující pouze řádky, které splňují zadanou podmínku. Výsledek je uložen v a vytisknout pro ověření. Oba skripty demonstrují sílu a jednoduchost Pandas pro manipulaci s daty. Použitím booleovského indexování, což je metoda, kdy k filtrování dat předáváme řadu hodnot true/false, můžeme efektivně vybrat podmnožiny dat na základě různých podmínek, což z ní činí neocenitelný nástroj pro datové analytiky a vědce.

Filtrování řádků v datovém rámci na základě hodnot sloupců

Python - Použití Pandas pro operace DataFrame

import pandas as pd
# Create a sample DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Edward'],
    'age': [24, 27, 22, 32, 29],
    'city': ['New York', 'Los Angeles', 'New York', 'Chicago', 'Los Angeles']
}
df = pd.DataFrame(data)

# Select rows where city is New York
ny_rows = df[df['city'] == 'New York']
print(ny_rows)

# Output:
#       name  age      city
# 0    Alice   24  New York
# 2  Charlie   22  New York

Dotazování na řádky datových rámců na základě hodnot sloupců

Python - Pokročilé filtrování s Pandas

import pandas as pd

# Create a sample DataFrame
data = {
    'product': ['A', 'B', 'C', 'D'],
    'price': [100, 150, 200, 250],
    'quantity': [30, 50, 20, 40]
}
df = pd.DataFrame(data)

# Select rows where price is greater than 150
expensive_products = df[df['price'] > 150]
print(expensive_products)

# Output:
#   product  price  quantity
# 2       C    200        20
# 3       D    250        40

Pokročilé techniky pro výběr řádků DataFrame

Kromě základního filtrování s booleovským indexováním nabízí Pandas pokročilejší techniky pro výběr řádků na základě hodnot sloupců. Jednou z takových metod je funkce, která vám umožňuje používat syntaxi podobnou SQL k filtrování řádků DataFrame. Můžete například použít pro výběr řádků, kde je věk vyšší než 25 a město je New York. Tato metoda může učinit váš kód čitelnějším, zejména pro složité podmínky. Kromě toho Pandas poskytuje a iloc[] přístupové prvky pro přesnější výběr řádků. The přístupový objekt je založen na štítku, což znamená, že můžete filtrovat řádky podle štítků nebo podle booleovského pole. Na rozdíl od toho, přístupový objekt je založen na celočíselných pozicích a umožňuje filtrovat řádky podle jejich indexových pozic.

Další výkonnou funkcí v Pandas je schopnost filtrovat řádky DataFrame pomocí metoda. Tato metoda je užitečná, když potřebujete filtrovat řádky na základě seznamu hodnot. Například, vybere řádky, kde je hodnota sloupce města buď New York, nebo Los Angeles. Kromě toho můžete řetězit více podmínek pomocí a | operátory k vytvoření složitějších filtrů. Například, filtruje řádky, kde je věk vyšší než 25 a město je New York. Tyto pokročilé techniky poskytují robustní rámec pro filtrování dat, díky čemuž jsou Pandas univerzálním nástrojem pro analýzu dat a manipulaci s nimi.

  1. Jak mohu filtrovat řádky v DataFrame na základě více hodnot sloupců?
  2. Booleovské indexování můžete použít s více podmínkami kombinovanými pomocí a . Například: .
  3. Jaký je rozdíl mezi a ?
  4. je založeno na štítku, zatímco je založen na celočíselných pozicích. Použití pro filtrování podle štítků a iloc[] pro filtrování podle pozic indexu.
  5. Jak mohu použít funkce pro filtrování řádků DataFrame?
  6. The funkce umožňuje používat syntaxi podobnou SQL. Například: .
  7. Mohu filtrovat řádky na základě seznamu hodnot?
  8. Ano, můžete použít metoda. Například: .
  9. Jaký je nejlepší způsob filtrování řádků na základě shody řetězců?
  10. Můžete použít metoda. Například: .
  11. Jak mohu vybrat řádky, kde chybí hodnoty sloupců?
  12. Můžete použít metoda. Například: .
  13. Jak mohu filtrovat řádky pomocí vlastní funkce?
  14. Můžete použít metoda s funkcí lambda. Například: .
  15. Mohu filtrovat řádky na základě hodnot indexu?
  16. Ano, můžete použít metoda. Například: .

Výběr řádků z DataFrame na základě hodnot sloupců je základní dovedností v analýze dat s Pandas. Využití booleovského indexování, , , , a isin() metody umožňují efektivní filtrování dat. Zvládnutí těchto technik zlepší vaši schopnost efektivně manipulovat a analyzovat datové sady.