Python pandas DataFrame-egen­ska­pen iloc[] används för att välja data inom en pandas DataFrame med hjälp av index. Detta gör att du kan visa specifika rader och kolumner i en DataFrame.

Vad är syntaxen för pandas iloc[]?

Pandas iloc[] använder heltal för att ange vilka element från DataFrame som ska väljas. Den allmänna syntaxen för pandas DataFrame.iloc() är:

DataFrame.iloc[selection]
python

Du kan skicka ett enda heltal, en Python-lista med heltal, ett slice-objekt eller en Python-tupel med rad- och ko­lum­nin­dex till pandas iloc[].

Hur man använder pandas DataFrame.iloc[]

Pandas iloc[]:s beteende ändras beroende på vilket värde du anger för egen­ska­pen. Nedan finns olika exempel som il­lu­stre­rar detta.

Välja en rad

Först ska vi skapa en DataFrame med olika personer, deras ålder och de städer där de bor:

import pandas as pd
# Example of how to create a DataFrame
data = {'Name': ['Alicia', 'Carlos', 'Dara', 'Craig'],
    'Age': [28, 24, 22, 32],
    'City': ['Nottingham', 'London', 'Cardiff', 'Hull']}
df = pd.DataFrame(data)
print(df)
python

Den re­sul­te­ran­de DataFrame ser ut så här:

Name  Age        City
0   Alicia   28		Nottingham
1   Carlos   24		London
2     Dara   22		Cardiff
3    Craig   32		Hull

Med iloc[] kan du nu välja vilken rad som helst genom att ange mot­sva­ran­de radindex:

# Selecting the first row (index 0)
result = df.iloc[0]
print(result)
python

I det här exemplet har den första raden (index 0) valts. Re­sul­ta­tet in­ne­hål­ler upp­gif­ter­na för Alicia:

Name       Alicia
Age            28
City     Nottingham
Name: 0, dtype: object

Välja en rad och en kolumn

Om du vill ange både rad- och ko­lum­nin­dex, anger du bara dessa värden till iloc[] med ett kom­ma­tec­ken mellan dem:

# Select the first row and second column
result = df.iloc[0, 1]
print(result)
python

Med koden ovan väljer pandas iloc[] den första raden (index 0) och den andra kolumnen (index 1). Re­sul­ta­tet är Alicias ålder: 28.

Välja flera rader och kolumner med hjälp av segment

Du kan också välja flera rader och kolumner samtidigt med hjälp av Python-slices. Tänk på att indexet efter kolon inte ingår i valet.

# Select the first two rows and first two columns
result = df.iloc[0:2, 0:2]
print(result)
python

Re­sul­ta­tet för ovanstå­en­de kod är:

Name  Age
0  Alicia   28
1  Carlos   24

Här väljs de två första raderna (0:2) och de två första ko­lum­ner­na (0:2). Den re­sul­te­ran­de DataFrame in­ne­hål­ler endast data i raderna 0 och 1 och ko­lum­ner­na 0 och 1.

Välja flera rader och kolumner med listor

Du kan också använda Python-listor för att markera flera rader och kolumner. Fördelen med listor är att du kan markera delar av DataFrame som inte ligger direkt intill varandra:

# Select the first and third rows and the second and third columns
result = df.iloc[[0, 2], [1, 2]]
print(result)
python

Här väljs den första och tredje raden ([0, 2]) samt den andra och tredje kolumnen ([1, 2]), vilket ger följande resultat:

Age        City
0     28    Nottingham
2     22     Cardiff
Gå till huvudmeny