Hur man filtrerar rader i en Pandas DataFrame baserat på kolumnvärden

Python

Filtrera rader i Pandas DataFrames

Pandas är ett kraftfullt bibliotek i Python för datamanipulation och analys. En vanlig uppgift är att välja rader från en DataFrame baserat på kolumnvärden, liknande SQLs SELECT * FROM-tabell WHERE kolumnnamn = något_värde.

Den här guiden går igenom olika metoder för att uppnå detta i Pandas, vilket gör det enkelt att filtrera din data effektivt. Oavsett om du är nybörjare eller erfaren användare, kommer dessa tips att förbättra dina färdigheter i datahantering.

Kommando Beskrivning
pd.DataFrame(data) Skapar en DataFrame från en ordbok med data.
df[column_name] Åtkomst till en kolumn i DataFrame efter namn.
df[condition] Filtrerar DataFrame baserat på ett villkor som tillämpas på en kolumn.
print(selected_rows) Skriver ut DataFrame eller en delmängd av den till konsolen.
df[df['Age'] >df[df['Age'] > 25] Väljer rader där kolumnvärdena "Ålder" är större än 25.
df[df['City'] == 'Chicago'] Väljer rader där kolumnvärdena för "Stad" är lika med "Chicago".

Förstå DataFrame Row Selection i Pandas

Skripten som tillhandahålls visar hur man väljer rader från en DataFrame baserat på kolumnvärden med hjälp av Pandas-biblioteket i Python. Det första skriptet börjar med att importera Pandas-biblioteket med kommando. Den skapar sedan ett exempel på DataFrame med hjälp av en ordbok med data, som konverteras till en DataFrame med kommando. Skriptet illustrerar sedan två metoder för radval: att välja rader där kolumnvärdet 'Ålder' är större än 25 med , och välja rader där kolumnen 'Stad' är 'Chicago' med hjälp av df[df['City'] == 'Chicago']. Dessa filtrerade DataFrames skrivs ut med hjälp av funktion för att visa de valda raderna.

Det andra skriptet följer en liknande struktur men använder andra data och urvalskriterier. Den skapar en DataFrame med produktinformation, inklusive kolumner 'Produkt', 'Pris' och 'Lager'. Rader väljs där 'Pris' är mindre än eller lika med 200 med

Avancerade tekniker för att välja DataFrame-rader i pandor

Förutom grundläggande filtrering med boolesk indexering, erbjuder Pandas avancerade tekniker för att välja rader baserat på kolumnvärden. En kraftfull metod är att använda funktion, som låter dig filtrera rader med ett frågeuttryck, vilket gör syntaxen renare och ofta mer intuitiv. Till exempel istället för att använda , du kan skriva . Den här metoden är särskilt användbar när man hanterar mer komplexa villkor eller när kolumnnamnen innehåller mellanslag. Dessutom isin() funktion är fördelaktig när du vill filtrera rader baserat på en lista med värden. För att till exempel välja rader där kolumnvärdet "Stad" är antingen "Chicago" eller "New York", kan du använda .

En annan teknik involverar och indexerare. De indexeraren är etikettbaserad, så att du kan välja rader baserat på radetiketter och kolumnnamn, medan iloc är heltal-platsbaserad, vilket möjliggör val efter rad- och kolumnnummer. Denna flexibilitet är särskilt användbar för att välja rader baserat på ett villkor som tillämpas på en annan kolumn. Till exempel, kommer att returnera namnen på personer äldre än 25. Dessa metoder utökar din verktygslåda för att effektivt hantera och analysera data i Pandas, och erbjuder mer läsbar och underhållbar kod.

  1. Hur kan jag välja rader baserat på flera villkor?
  2. Du kan använda funktion eller kombinera villkor med logiska operatorer som och . Till exempel, df[(df['Age'] > 25) & (df['City'] == 'Chicago')].
  3. Kan jag filtrera rader baserat på en lista med värden?
  4. Ja, använd fungera. Till exempel, .
  5. Vad är skillnaden mellan och ?
  6. är etikettbaserad, medan är heltalsplatsbaserad. Använda sig av med rad/kolumnetiketter och iloc med rad-/kolumnindex.
  7. Hur kan jag välja specifika kolumner när jag filtrerar rader?
  8. Du kan använda . Till exempel, .
  9. Hur hanterar jag saknade värden när jag väljer rader?
  10. Använd funktion för att ta bort rader med saknade värden, eller för att ersätta dem med ett angivet värde.
  11. Kan jag använda reguljära uttryck för att filtrera rader?
  12. Ja den funktion med parameter låter dig filtrera rader baserat på regexmönster. Till exempel, .
  13. Hur filtrerar jag rader baserat på indexet?
  14. Du kan använda med indexnamnet. Till exempel, .
  15. Vad händer om mina kolumnnamn innehåller mellanslag eller specialtecken?
  16. Använd funktion som kan hantera sådana kolumnnamn med backticks. Till exempel, .

Sista tankar om dataframe radvalstekniker

Att välja rader från en DataFrame baserat på kolumnvärden i Pandas är en avgörande färdighet för datamanipulation. De olika metoderna som diskuteras, inklusive boolesk indexering, , , och etikettbaserad och heltalsplatsbaserad indexering med och iloc, tillhandahåller kraftfulla verktyg för att filtrera data effektivt. Behärskning av dessa tekniker möjliggör bättre dataanalys och renare, mer underhållbar kod.