Pandas iloc[]

The iloc[] property in Pandas allows us to select rows and columns based on their integer location.

Example

import pandas as pd

data = {'A': [1, 2, 3], 
        'B': [4, 5, 6]}

df = pd.DataFrame(data)

# select the element in the first row and second column element = df.iloc[0, 1]
print(element) # Output: 4

iloc[] Syntax

The syntax of the iloc[] property in Pandas is:

iloc[row_selection, column_selection]

iloc[] Arguments

The iloc[] property takes following arguments:

  • row_selection - specifies which rows you want to select based on integer positions
  • column_selection - specifies which columns you want to select based on integer positions

iloc[] Return Value

The iloc[] property in Pandas returns a subset of a DataFrame or Series based on the integer-location-based indexing you specify.


Example 1: Select Single Element From a DataFrame

import pandas as pd

data = {'Student_ID': [101, 102, 103],
        'Name': ['Alice', 'Bob', 'Charlie'],
        'Score': [85, 92, 78]}

df = pd.DataFrame(data)

# select the score of the first student (first row, third column) first_student_score = df.iloc[0, 2]
print("Score of the first student:", first_student_score)

Output

Score of the first student: 85

In the above example, we have the df DataFrame representing student data with columns: Student_ID, Name, and Score.

We used iloc[0,2] to select the score of the first student, which is located in the first row (index 0) and the third column (index 2).


Example 2: Select Multiple Rows and Columns Using Slices

import pandas as pd

data = {'Student_ID': [101, 102, 103, 104, 105],
        'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
        'Math_Score': [85, 92, 78, 90, 88],
        'Science_Score': [88, 94, 76, 89, 84]}

df = pd.DataFrame(data)

# select rows 1 to 3 (exclusive) and columns 1 to 3 (exclusive) selected_data = df.iloc[1:3, 1:3]
print(selected_data)

Output

       Name  Math_Score
1      Bob          92
2      Charlie     78

Here, we used iloc[1:3, 1:3] to select a slice of rows from index 1 (inclusive) to index 3 (exclusive) and a slice of columns from index 1 (inclusive) to index 3 (exclusive).

As a result, data from rows 1 and 2 of columns 'Name' and 'Math_Score' are displayed.

Note: To learn more about how slicing works, please visit Pandas Indexing and Slicing.


Example 3: Select Specific Rows and Columns Using Lists of Integers

import pandas as pd

data = {'Student_ID': [101, 102, 103],
        'Name': ['Alice', 'Bob', 'Charlie'],
        'Math_Score': [85, 92, 78],
        'Science_Score': [90, 88, 82]}

df = pd.DataFrame(data)

# select specific rows (rows 0 and 2) and specific columns (columns 1 and 3) selected_data = df.iloc[[0, 2], [1, 3]]
print(selected_data)

Output

      Name  Science_Score
0    Alice             90
2  Charlie             82

In the above example, we used iloc[[0, 2], [1, 3]] to select rows with indices 0 and 2 (which are the first and third rows) and columns with indices 1 and 3 (which are the second and fourth columns).

The result is a new DataFrame containing the selected rows and columns.


Example 4: Select all Rows for Specific Columns

import pandas as pd

data = {'Student_ID': [101, 102, 103],
        'Name': ['Alice', 'Bob', 'Charlie'],
        'Score': [85, 92, 78]}

df = pd.DataFrame(data)

# select all rows for the 'Student_ID' and 'Name' columns selected_data = df.iloc[:, [0, 1]]
print(selected_data)

Output

    Student_ID     Name
0         101          Alice
1         102          Bob
2         103          Charlie

Here, the iloc[:, [0, 1]] property selects all rows and the columns at index 0, 'Student_ID', and index 1, 'Name'.

This will give us a DataFrame containing all rows for the 'Student_ID' and 'Name' columns.


Example 5: Select Specific Rows For All Columns

import pandas as pd

data = {'Student_ID': [101, 102, 103, 104, 105],
        'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
        'Score': [85, 92, 78, 88, 95]}

df = pd.DataFrame(data)

# select rows 1 and 3 for all columns selected_rows = df.iloc[[1, 3], :]
print(selected_rows)

Output

     Student_ID    Name  Score
1         102      Bob       92
3         104      David     88

Here, iloc[[1, 3], :] allows us to select the first and third row while including all columns.

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community