Hoe u rijen in een Pandas-dataframe kunt filteren op basis van kolomwaarden

Python

Rijen filteren in Pandas DataFrames

Pandas is een krachtige bibliotheek in Python voor gegevensmanipulatie en -analyse. Een veel voorkomende taak is het selecteren van rijen uit een DataFrame op basis van kolomwaarden, vergelijkbaar met de SQL-tabel SELECT * FROM WHERE column_name = some_value.

Deze gids begeleidt u bij verschillende methoden om dit in Pandas te bereiken, waardoor u uw gegevens eenvoudig efficiënt kunt filteren. Of u nu een beginner of een ervaren gebruiker bent, deze tips zullen uw vaardigheden op het gebied van gegevensverwerking verbeteren.

Commando Beschrijving
pd.DataFrame(data) Creëert een DataFrame op basis van een woordenboek met gegevens.
df[column_name] Geeft toegang tot een kolom in het DataFrame op naam.
df[condition] Filtert het DataFrame op basis van een voorwaarde die op een kolom is toegepast.
print(selected_rows) Drukt het DataFrame of een subset ervan af naar de console.
df[df['Age'] >df[df['Age'] > 25] Selecteert rijen waarin de kolomwaarden 'Leeftijd' groter zijn dan 25.
df[df['City'] == 'Chicago'] Selecteert rijen waarin de kolomwaarden 'Plaats' gelijk zijn aan 'Chicago'.

DataFrame-rijselectie in Panda's begrijpen

De meegeleverde scripts laten zien hoe u rijen uit een DataFrame selecteert op basis van kolomwaarden met behulp van de Pandas-bibliotheek in Python. Het eerste script begint met het importeren van de Pandas-bibliotheek met de commando. Vervolgens wordt een voorbeeld-DataFrame gemaakt met behulp van een gegevenswoordenboek, dat wordt geconverteerd naar een DataFrame met de commando. Het script illustreert vervolgens twee methoden voor rijselectie: het selecteren van rijen waarbij de kolomwaarde 'Leeftijd' groter is dan 25 met behulp van en het selecteren van rijen waarbij de kolomwaarde 'Stad' 'Chicago' is df[df['City'] == 'Chicago']. Deze gefilterde DataFrames worden afgedrukt met behulp van de functie om de geselecteerde rijen weer te geven.

Het tweede script volgt een vergelijkbare structuur, maar gebruikt andere gegevens en selectiecriteria. Er wordt een DataFrame gemaakt met productinformatie, waaronder de kolommen 'Product', 'Prijs' en 'Voorraad'. Er worden rijen geselecteerd waarbij de 'Prijs' kleiner dan of gelijk is aan 200

Geavanceerde technieken voor het selecteren van dataframerijen in panda's

Naast basisfiltering met behulp van Booleaanse indexering, biedt Pandas geavanceerde technieken voor het selecteren van rijen op basis van kolomwaarden. Een krachtige methode is het gebruik van de functie, waarmee u rijen kunt filteren met een query-expressie, waardoor de syntaxis schoner en vaak intuïtiever wordt. In plaats van gebruiken bijvoorbeeld , je kan schrijven . Deze methode is vooral handig bij het omgaan met complexere voorwaarden of wanneer de kolomnamen spaties bevatten. Bovendien is de isin() De functie is handig als u rijen wilt filteren op basis van een lijst met waarden. Als u bijvoorbeeld rijen wilt selecteren waarin de kolomwaarde 'Plaats' 'Chicago' of 'New York' is, kunt u .

Een andere techniek omvat de En indexeerders. De indexer is op labels gebaseerd, waardoor u rijen kunt selecteren op basis van rijlabels en kolomnamen iloc is gebaseerd op gehele locaties, waardoor selectie op rij- en kolomnummers mogelijk is. Deze flexibiliteit is vooral handig bij het selecteren van rijen op basis van een voorwaarde die op een andere kolom is toegepast. Bijvoorbeeld, retourneert de namen van personen ouder dan 25 jaar. Deze methoden breiden uw toolkit uit voor het efficiënt verwerken en analyseren van gegevens in Pandas, en bieden beter leesbare en onderhoudbare code.

  1. Hoe kan ik rijen selecteren op basis van meerdere voorwaarden?
  2. U kunt gebruik maken van de functioneren of voorwaarden combineren met logische operatoren zoals En . Bijvoorbeeld, df[(df['Age'] > 25) & (df['City'] == 'Chicago')].
  3. Kan ik rijen filteren op basis van een lijst met waarden?
  4. Ja, gebruik de functie. Bijvoorbeeld, .
  5. Wat is het verschil tussen En ?
  6. is op labels gebaseerd, terwijl is gebaseerd op gehele locaties. Gebruik met rij-/kolomlabels en iloc met rij-/kolomindexen.
  7. Hoe kan ik specifieke kolommen selecteren tijdens het filteren van rijen?
  8. Je kunt gebruiken . Bijvoorbeeld, .
  9. Hoe ga ik om met ontbrekende waarden bij het selecteren van rijen?
  10. Gebruik de functie om rijen met ontbrekende waarden te verwijderen, of om ze te vervangen door een opgegeven waarde.
  11. Kan ik reguliere expressies gebruiken om rijen te filteren?
  12. Ja de functioneren met de Met parameter kunt u rijen filteren op basis van regex-patronen. Bijvoorbeeld, .
  13. Hoe filter ik rijen op basis van de index?
  14. Je kunt gebruiken met de indexnaam. Bijvoorbeeld, .
  15. Wat moet ik doen als mijn kolomnamen spaties of speciale tekens bevatten?
  16. Gebruik de functie die dergelijke kolomnamen met backticks kan verwerken. Bijvoorbeeld, .

Laatste gedachten over DataFrame-rijselectietechnieken

Het selecteren van rijen uit een DataFrame op basis van kolomwaarden in Pandas is een cruciale vaardigheid voor gegevensmanipulatie. De verschillende besproken methoden, waaronder booleaanse indexering, , , en op labels gebaseerde en op gehele getallen gebaseerde indexering met En ilocbieden krachtige tools voor het efficiënt filteren van gegevens. Het beheersen van deze technieken maakt betere data-analyse en schonere, beter onderhoudbare code mogelijk.