Výber riadkov DataFrame na základe hodnôt stĺpcov v Pythone

Python

Použitie Pandy na filtrovanie dátových rámcov podľa hodnôt stĺpcov

Pri práci s údajmi v Pythone ponúka knižnica Pandas výkonné nástroje na manipuláciu a analýzu údajov. Jednou z bežných úloh je výber riadkov z dátového rámca na základe hodnôt v konkrétnom stĺpci. Táto operácia je podobná dotazu SQL: SELECT * FROM tabuľka WHERE názov_stĺpca = nejaká_hodnota.

V tomto článku preskúmame, ako to dosiahnuť v Pandas pomocou rôznych metód. Či už filtrujete podľa jednej hodnoty alebo viacerých kritérií, Pandas poskytuje intuitívne a efektívne spôsoby, ako zvládnuť takéto operácie. Poďme sa ponoriť do detailov.

Príkaz Popis
pd.DataFrame() Vytvorí objekt DataFrame zo slovníka alebo iných dátových štruktúr.
df[condition] Filtruje riadky DataFrame na základe podmienky a vráti iba tie, ktoré spĺňajú kritériá.
print() Výstup zadanej správy alebo dátového rámca do konzoly.
df['column'] == value Vytvorí logickú sériu používanú na filtrovanie riadkov, v ktorých sa stĺpec zhoduje so zadanou hodnotou.
df['column'] >df['column'] > value Vytvorí logickú sériu používanú na filtrovanie riadkov, v ktorých sú hodnoty stĺpcov väčšie ako zadaná hodnota.
# Comment Používa sa na pridanie vysvetlení alebo poznámok v rámci kódu, ktoré sa nevykonávajú ako súčasť skriptu.

Implementácia výberu riadkov DataFrame v Pandas

V poskytnutých skriptoch je kľúčovou úlohou filtrovať riadky z dátového rámca na základe špecifických hodnôt stĺpcov, čo je bežná požiadavka pri analýze dát. Prvý skript začína importovaním knižnice Pandas s . To je nevyhnutné, pretože Pandas je výkonná knižnica na manipuláciu s údajmi v Pythone. Ďalej vytvoríme vzorový DataFrame pomocou so slovníkom obsahujúcim údaje o menách, veku a mestách. Táto štruktúra nám umožňuje jednoducho vizualizovať a manipulovať s tabuľkovými údajmi. Rozhodujúcou časťou skriptu je, kde filtrujeme riadky pomocou . Tento príkaz vyberie všetky riadky, kde je hodnota stĺpca mesta 'New York'. Výsledok sa uloží do premennej ny_rows, ktorý sa potom vytlačí, aby sa zobrazil filtrovaný DataFrame.

Druhý skript má podobnú štruktúru, ale zameriava sa na filtrovanie riadkov na základe číselnej podmienky. Po importe Pandas a vytvorení DataFrame so stĺpcami produktu, ceny a množstva skript používa na filtrovanie riadkov, ktorých cena je väčšia ako 150. Tento príkaz vytvorí podmnožinu pôvodného DataFrame obsahujúceho iba riadky, ktoré spĺňajú zadanú podmienku. Výsledok je uložený v a vytlačené na overenie. Oba skripty demonštrujú silu a jednoduchosť Pandas pre manipuláciu s údajmi. Použitím booleovskej indexácie, metódy, pri ktorej na filtrovanie údajov odovzdávame sériu hodnôt true/false, môžeme efektívne vyberať podmnožiny údajov na základe rôznych podmienok, čo z nej robí neoceniteľný nástroj pre analytikov údajov a vedcov.

Filtrovanie riadkov v dátovom rámci na základe hodnôt stĺpcov

Python - Používanie Pandas pre operácie 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

Dotazovanie na riadky dátového rámca na základe hodnôt stĺpcov

Python - Pokročilé filtrovanie 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 výberu riadkov DataFrame

Okrem základného filtrovania pomocou booleovskej indexácie ponúka Pandas pokročilejšie techniky výberu riadkov na základe hodnôt stĺpcov. Jednou z takýchto metód je funkcia, ktorá vám umožňuje použiť syntax podobnú SQL na filtrovanie riadkov DataFrame. Môžete napríklad použiť vyberte riadky, ktorých vek je vyšší ako 25 rokov a mesto je New York. Táto metóda môže urobiť váš kód čitateľnejším, najmä v zložitých podmienkach. Okrem toho Pandas poskytuje a iloc[] prístupové prvky pre presnejší výber riadkov. The Accessor je založený na štítkoch, čo znamená, že môžete filtrovať riadky podľa ich štítkov alebo boolovského poľa. Na rozdiel od toho, prístupový objekt je založený na celočíselnej pozícii, čo vám umožňuje filtrovať riadky podľa ich indexových pozícií.

Ďalšou výkonnou funkciou v Pandas je schopnosť filtrovať riadky DataFrame pomocou metóda. Táto metóda je užitočná, keď potrebujete filtrovať riadky na základe zoznamu hodnôt. Napríklad, vyberie riadky, v ktorých je hodnota stĺpca mesta buď New York alebo Los Angeles. Okrem toho môžete reťaziť viacero podmienok pomocou a | operátorov na vytvorenie zložitejších filtrov. napr. filtruje riadky, kde je vek vyšší ako 25 a mesto je New York. Tieto pokročilé techniky poskytujú robustný rámec pre filtrovanie údajov, vďaka čomu je Pandas všestranným nástrojom na analýzu a manipuláciu s údajmi.

  1. Ako môžem filtrovať riadky v DataFrame na základe hodnôt viacerých stĺpcov?
  2. Môžete použiť boolovské indexovanie s viacerými podmienkami kombinovanými pomocou a . Napríklad: .
  3. Aký je rozdiel medzi a ?
  4. je založený na označení, zatiaľ čo je založený na celočíselnej pozícii. Použite na filtrovanie podľa štítkov a iloc[] na filtrovanie podľa indexových pozícií.
  5. Ako môžem použiť funkcia na filtrovanie riadkov DataFrame?
  6. The funkcia vám umožňuje používať syntax podobnú SQL. Napríklad: .
  7. Môžem filtrovať riadky na základe zoznamu hodnôt?
  8. Áno, môžete použiť metóda. Napríklad: .
  9. Aký je najlepší spôsob filtrovania riadkov na základe zhody reťazcov?
  10. Môžete použiť metóda. Napríklad: .
  11. Ako môžem vybrať riadky, v ktorých chýbajú hodnoty stĺpcov?
  12. Môžete použiť metóda. Napríklad: .
  13. Ako môžem filtrovať riadky pomocou vlastnej funkcie?
  14. Môžete použiť metóda s lambda funkciou. Napríklad: .
  15. Môžem filtrovať riadky na základe hodnôt indexu?
  16. Áno, môžete použiť metóda. Napríklad: .

Výber riadkov z dátového rámca na základe hodnôt stĺpcov je základnou zručnosťou pri analýze dát s Pandas. Využitie boolovského indexovania, , , a isin() metódy umožňujú efektívne filtrovanie údajov. Ovládanie týchto techník zvyšuje vašu schopnosť efektívne manipulovať a analyzovať množiny údajov.