Rivien suodattaminen Pandas DataFramessa sarakearvojen perusteella

Temp mail SuperHeros
Rivien suodattaminen Pandas DataFramessa sarakearvojen perusteella
Rivien suodattaminen Pandas DataFramessa sarakearvojen perusteella

Rivien suodatus Pandas DataFramesissa

Pandas on Pythonin tehokas kirjasto tietojen käsittelyä ja analysointia varten. Yleinen tehtävä on rivien valitseminen DataFramesta sarakearvojen perusteella, kuten SQL:n SELECT * FROM -taulukossa WHERE sarakkeen_nimi = jokin_arvo.

Tämä opas opastaa sinut eri menetelmien läpi tämän saavuttamiseksi Pandasissa, mikä tekee tietojesi tehokkaan suodattamisen helpoksi. Olitpa aloittelija tai kokenut käyttäjä, nämä vinkit parantavat tiedonkäsittelytaitojasi.

Komento Kuvaus
pd.DataFrame(data) Luo DataFramen tietosanakirjasta.
df[column_name] Avaa sarakkeen DataFramessa nimellä.
df[condition] Suodattaa DataFramen sarakkeeseen sovelletun ehdon perusteella.
print(selected_rows) Tulostaa DataFramen tai sen osajoukon konsoliin.
df[df['Age'] >df[df['Age'] > 25] Valitsee rivit, joissa Ikä-sarakkeen arvot ovat suurempia kuin 25.
df[df['City'] == 'Chicago'] Valitsee rivit, joissa Kaupunki-sarakkeen arvot ovat yhtä suuria kuin Chicago.

DataFrame-rivien valinnan ymmärtäminen Pandasissa

Toimitetut skriptit osoittavat, kuinka valita rivit DataFramesta sarakearvojen perusteella käyttämällä Pythonin Pandas-kirjastoa. Ensimmäinen komentosarja alkaa tuomalla Pandas-kirjasto import pandas as pd komento. Sen jälkeen se luo datakehyksen avulla mallin DataFrame-kehyksestä, joka muunnetaan DataFrame-kehykseksi pd.DataFrame(data) komento. Skripti kuvaa sitten kahta tapaa rivien valintaan: rivien valitseminen, joissa Ikä-sarakkeen arvo on suurempi kuin 25 käyttämällä df[df['Age'] > 25], ja valitsemalla rivit, joissa Kaupunki-sarakkeen arvo on "Chicago" käyttämällä df[df['City'] == 'Chicago']. Nämä suodatetut DataFrame-kehykset tulostetaan käyttämällä print() toiminto näyttää valitut rivit.

Toinen komentosarja noudattaa samanlaista rakennetta, mutta käyttää erilaisia ​​tietoja ja valintakriteerejä. Se luo DataFramen tuotetiedoilla, mukaan lukien sarakkeet "Tuote", "Hinta" ja "Varasto". Rivit valitaan, joissa "Hinta" on pienempi tai yhtä suuri kuin 200 kanssa df[df['Price'] <= 200], ja jossa varastossa on yli 40 kpl df[df['Stock'] > 40]. Näiden komentosarjojen tarkoitus on näyttää, kuinka DataFrame-rivejä suodatetaan tiettyjen ehtojen perusteella, samalla tavalla kuin käyttäisit SQL-kyselyä rivien valitsemiseen taulukosta sarakkeen arvon perusteella. Ymmärtämällä ja soveltamalla näitä komentoja voit tehokkaasti käsitellä ja analysoida DataFrame-kehystesi tietoja.

Rivien valitseminen tietokehyksessä sarakearvojen avulla Pandasissa

Python Pandas-kirjaston kanssa

# Importing the necessary library
import pandas as pd

# Creating a sample DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
    'Age': [24, 27, 22, 32, 29],
    'City': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix']
}
df = pd.DataFrame(data)

# Selecting rows where Age is greater than 25
selected_rows = df[df['Age'] > 25]
print(selected_rows)

# Selecting rows where City is 'Chicago'
chicago_rows = df[df['City'] == 'Chicago']
print(chicago_rows)

Tietojen suodattaminen tietokehyksessä sarakekriteerien perusteella

Python Pandas-kirjaston kanssa

# Importing pandas library
import pandas as pd

# Creating a sample DataFrame
data = {'Product': ['A', 'B', 'C', 'D', 'E'],
        'Price': [100, 150, 200, 250, 300],
        'Stock': [30, 60, 90, 20, 50]}
df = pd.DataFrame(data)

# Selecting rows where Price is less than or equal to 200
affordable_products = df[df['Price'] <= 200]
print(affordable_products)

# Selecting rows where Stock is more than 40
in_stock = df[df['Stock'] > 40]
print(in_stock)

Kehittyneet tekniikat DataFrame-rivien valintaan Pandasissa

Perussuodatuksen lisäksi Boolen indeksoinnilla Pandas tarjoaa edistyneitä tekniikoita rivien valintaan sarakearvojen perusteella. Yksi tehokas tapa on käyttää query() -toiminto, jonka avulla voit suodattaa rivejä kyselylausekkeella, mikä tekee syntaksista selkeämmän ja usein intuitiivisemman. Esimerkiksi käytön sijaan df[df['Age'] > 25], sinä voit kirjoittaa df.query('Age > 25'). Tämä menetelmä on erityisen hyödyllinen, kun käsitellään monimutkaisempia ehtoja tai kun sarakkeiden nimet sisältävät välilyöntejä. Lisäksi, isin() -toiminto on hyödyllinen, kun haluat suodattaa rivejä arvoluettelon perusteella. Jos haluat esimerkiksi valita rivejä, joissa Kaupunki-sarakkeen arvo on joko Chicago tai New York, voit käyttää df[df['City'].isin(['Chicago', 'New York'])].

Toinen tekniikka sisältää loc ja iloc indeksoijat. The loc indexer on nimiöpohjainen, joten voit valita rivejä rivien ja sarakkeiden nimien perusteella iloc on kokonaislukusijaintiin perustuva, mikä mahdollistaa valinnan rivi- ja sarakenumeroiden perusteella. Tämä joustavuus on erityisen hyödyllinen valittaessa rivejä eri sarakkeeseen sovelletun ehdon perusteella. Esimerkiksi, df.loc[df['Age'] > 25, 'Name'] palauttaa yli 25-vuotiaiden henkilöiden nimet. Nämä menetelmät laajentavat työkalupakkiasi tietojen tehokkaaseen käsittelyyn ja analysointiin Pandasissa tarjoten entistä luettavampaa ja ylläpidettävämpää koodia.

Yleisiä kysymyksiä ja vastauksia DataFrame-rivien valitsemisesta

  1. Kuinka voin valita rivejä useiden ehtojen perusteella?
  2. Voit käyttää query() funktiota tai yhdistä ehtoja loogisilla operaattoreilla, kuten & ja |. Esimerkiksi, df[(df['Age'] > 25) & (df['City'] == 'Chicago')].
  3. Voinko suodattaa rivejä arvoluettelon perusteella?
  4. Kyllä, käytä isin() toiminto. Esimerkiksi, df[df['City'].isin(['Chicago', 'New York'])].
  5. Mitä eroa on loc ja iloc?
  6. loc on etikettipohjainen, kun taas iloc on kokonaislukusijaintiin perustuva. Käyttää loc rivi/sarake otsikoilla ja iloc rivi/sarake-indekseillä.
  7. Kuinka voin valita tiettyjä sarakkeita rivejä suodattaessa?
  8. Voit käyttää loc. Esimerkiksi, df.loc[df['Age'] > 25, ['Name', 'City']].
  9. Miten käsittelen puuttuvia arvoja rivejä valittaessa?
  10. Käytä dropna() toiminto poistaaksesi rivit, joilla on puuttuvia arvoja, tai fillna() korvata ne tietyllä arvolla.
  11. Voinko käyttää säännöllisiä lausekkeita rivien suodattamiseen?
  12. Kyllä str.contains() toiminto kanssa regex=True parametrin avulla voit suodattaa rivejä säännöllisen lausekkeen mallien perusteella. Esimerkiksi, df[df['Name'].str.contains('^A', regex=True)].
  13. Kuinka suodatan rivit indeksin perusteella?
  14. Voit käyttää loc indeksin nimellä. Esimerkiksi, df.loc[df.index == 'some_index'].
  15. Entä jos sarakkeiden nimet sisältävät välilyöntejä tai erikoismerkkejä?
  16. Käytä query() toiminto, joka pystyy käsittelemään sellaiset sarakkeiden nimet, joissa on backticks. Esimerkiksi, df.query('`column name` == value').

Viimeisiä ajatuksia DataFrame-rivien valintatekniikoista

Rivien valitseminen DataFramesta Pandasin sarakearvojen perusteella on tärkeä taito tietojen käsittelyssä. Käsitellyt erilaiset menetelmät, mukaan lukien Boolen indeksointi, query(), isin(), ja otsikkopohjainen ja kokonaislukusijaintiin perustuva indeksointi loc ja iloc, tarjoavat tehokkaita työkaluja tietojen suodattamiseen tehokkaasti. Näiden tekniikoiden hallinta mahdollistaa paremman data-analyysin ja puhtaamman, paremmin ylläpidettävän koodin.