Explore Courses
Liverpool Business SchoolLiverpool Business SchoolMBA by Liverpool Business School
  • 18 Months
Bestseller
Golden Gate UniversityGolden Gate UniversityMBA (Master of Business Administration)
  • 15 Months
Popular
O.P.Jindal Global UniversityO.P.Jindal Global UniversityMaster of Business Administration (MBA)
  • 12 Months
New
Birla Institute of Management Technology Birla Institute of Management Technology Post Graduate Diploma in Management (BIMTECH)
  • 24 Months
Liverpool John Moores UniversityLiverpool John Moores UniversityMS in Data Science
  • 18 Months
Popular
IIIT BangaloreIIIT BangalorePost Graduate Programme in Data Science & AI (Executive)
  • 12 Months
Bestseller
Golden Gate UniversityGolden Gate UniversityDBA in Emerging Technologies with concentration in Generative AI
  • 3 Years
upGradupGradData Science Bootcamp with AI
  • 6 Months
New
University of MarylandIIIT BangalorePost Graduate Certificate in Data Science & AI (Executive)
  • 8-8.5 Months
upGradupGradData Science Bootcamp with AI
  • 6 months
Popular
upGrad KnowledgeHutupGrad KnowledgeHutData Engineer Bootcamp
  • Self-Paced
upGradupGradCertificate Course in Business Analytics & Consulting in association with PwC India
  • 06 Months
OP Jindal Global UniversityOP Jindal Global UniversityMaster of Design in User Experience Design
  • 12 Months
Popular
WoolfWoolfMaster of Science in Computer Science
  • 18 Months
New
Jindal Global UniversityJindal Global UniversityMaster of Design in User Experience
  • 12 Months
New
Rushford, GenevaRushford Business SchoolDBA Doctorate in Technology (Computer Science)
  • 36 Months
IIIT BangaloreIIIT BangaloreCloud Computing and DevOps Program (Executive)
  • 8 Months
New
upGrad KnowledgeHutupGrad KnowledgeHutAWS Solutions Architect Certification
  • 32 Hours
upGradupGradFull Stack Software Development Bootcamp
  • 6 Months
Popular
upGradupGradUI/UX Bootcamp
  • 3 Months
upGradupGradCloud Computing Bootcamp
  • 7.5 Months
Golden Gate University Golden Gate University Doctor of Business Administration in Digital Leadership
  • 36 Months
New
Jindal Global UniversityJindal Global UniversityMaster of Design in User Experience
  • 12 Months
New
Golden Gate University Golden Gate University Doctor of Business Administration (DBA)
  • 36 Months
Bestseller
Ecole Supérieure de Gestion et Commerce International ParisEcole Supérieure de Gestion et Commerce International ParisDoctorate of Business Administration (DBA)
  • 36 Months
Rushford, GenevaRushford Business SchoolDoctorate of Business Administration (DBA)
  • 36 Months
KnowledgeHut upGradKnowledgeHut upGradSAFe® 6.0 Certified ScrumMaster (SSM) Training
  • Self-Paced
KnowledgeHut upGradKnowledgeHut upGradPMP® certification
  • Self-Paced
IIM KozhikodeIIM KozhikodeProfessional Certification in HR Management and Analytics
  • 6 Months
Bestseller
Duke CEDuke CEPost Graduate Certificate in Product Management
  • 4-8 Months
Bestseller
upGrad KnowledgeHutupGrad KnowledgeHutLeading SAFe® 6.0 Certification
  • 16 Hours
Popular
upGrad KnowledgeHutupGrad KnowledgeHutCertified ScrumMaster®(CSM) Training
  • 16 Hours
Bestseller
PwCupGrad CampusCertification Program in Financial Modelling & Analysis in association with PwC India
  • 4 Months
upGrad KnowledgeHutupGrad KnowledgeHutSAFe® 6.0 POPM Certification
  • 16 Hours
O.P.Jindal Global UniversityO.P.Jindal Global UniversityMaster of Science in Artificial Intelligence and Data Science
  • 12 Months
Bestseller
Liverpool John Moores University Liverpool John Moores University MS in Machine Learning & AI
  • 18 Months
Popular
Golden Gate UniversityGolden Gate UniversityDBA in Emerging Technologies with concentration in Generative AI
  • 3 Years
IIIT BangaloreIIIT BangaloreExecutive Post Graduate Programme in Machine Learning & AI
  • 13 Months
Bestseller
IIITBIIITBExecutive Program in Generative AI for Leaders
  • 4 Months
upGradupGradAdvanced Certificate Program in GenerativeAI
  • 4 Months
New
IIIT BangaloreIIIT BangalorePost Graduate Certificate in Machine Learning & Deep Learning (Executive)
  • 8 Months
Bestseller
Jindal Global UniversityJindal Global UniversityMaster of Design in User Experience
  • 12 Months
New
Liverpool Business SchoolLiverpool Business SchoolMBA with Marketing Concentration
  • 18 Months
Bestseller
Golden Gate UniversityGolden Gate UniversityMBA with Marketing Concentration
  • 15 Months
Popular
MICAMICAAdvanced Certificate in Digital Marketing and Communication
  • 6 Months
Bestseller
MICAMICAAdvanced Certificate in Brand Communication Management
  • 5 Months
Popular
upGradupGradDigital Marketing Accelerator Program
  • 05 Months
Jindal Global Law SchoolJindal Global Law SchoolLL.M. in Corporate & Financial Law
  • 12 Months
Bestseller
Jindal Global Law SchoolJindal Global Law SchoolLL.M. in AI and Emerging Technologies (Blended Learning Program)
  • 12 Months
Jindal Global Law SchoolJindal Global Law SchoolLL.M. in Intellectual Property & Technology Law
  • 12 Months
Jindal Global Law SchoolJindal Global Law SchoolLL.M. in Dispute Resolution
  • 12 Months
upGradupGradContract Law Certificate Program
  • Self paced
New
ESGCI, ParisESGCI, ParisDoctorate of Business Administration (DBA) from ESGCI, Paris
  • 36 Months
Golden Gate University Golden Gate University Doctor of Business Administration From Golden Gate University, San Francisco
  • 36 Months
Rushford Business SchoolRushford Business SchoolDoctor of Business Administration from Rushford Business School, Switzerland)
  • 36 Months
Edgewood CollegeEdgewood CollegeDoctorate of Business Administration from Edgewood College
  • 24 Months
Golden Gate UniversityGolden Gate UniversityDBA in Emerging Technologies with Concentration in Generative AI
  • 36 Months
Golden Gate University Golden Gate University DBA in Digital Leadership from Golden Gate University, San Francisco
  • 36 Months
Liverpool Business SchoolLiverpool Business SchoolMBA by Liverpool Business School
  • 18 Months
Bestseller
Golden Gate UniversityGolden Gate UniversityMBA (Master of Business Administration)
  • 15 Months
Popular
O.P.Jindal Global UniversityO.P.Jindal Global UniversityMaster of Business Administration (MBA)
  • 12 Months
New
Deakin Business School and Institute of Management Technology, GhaziabadDeakin Business School and IMT, GhaziabadMBA (Master of Business Administration)
  • 12 Months
Liverpool John Moores UniversityLiverpool John Moores UniversityMS in Data Science
  • 18 Months
Bestseller
O.P.Jindal Global UniversityO.P.Jindal Global UniversityMaster of Science in Artificial Intelligence and Data Science
  • 12 Months
Bestseller
IIIT BangaloreIIIT BangalorePost Graduate Programme in Data Science (Executive)
  • 12 Months
Bestseller
O.P.Jindal Global UniversityO.P.Jindal Global UniversityO.P.Jindal Global University
  • 12 Months
WoolfWoolfMaster of Science in Computer Science
  • 18 Months
New
Liverpool John Moores University Liverpool John Moores University MS in Machine Learning & AI
  • 18 Months
Popular
Golden Gate UniversityGolden Gate UniversityDBA in Emerging Technologies with concentration in Generative AI
  • 3 Years
Rushford, GenevaRushford Business SchoolDoctorate of Business Administration (AI/ML)
  • 36 Months
Ecole Supérieure de Gestion et Commerce International ParisEcole Supérieure de Gestion et Commerce International ParisDBA Specialisation in AI & ML
  • 36 Months
Golden Gate University Golden Gate University Doctor of Business Administration (DBA)
  • 36 Months
Bestseller
Ecole Supérieure de Gestion et Commerce International ParisEcole Supérieure de Gestion et Commerce International ParisDoctorate of Business Administration (DBA)
  • 36 Months
Rushford, GenevaRushford Business SchoolDoctorate of Business Administration (DBA)
  • 36 Months
Liverpool Business SchoolLiverpool Business SchoolMBA with Marketing Concentration
  • 18 Months
Bestseller
Golden Gate UniversityGolden Gate UniversityMBA with Marketing Concentration
  • 15 Months
Popular
Jindal Global Law SchoolJindal Global Law SchoolLL.M. in Corporate & Financial Law
  • 12 Months
Bestseller
Jindal Global Law SchoolJindal Global Law SchoolLL.M. in Intellectual Property & Technology Law
  • 12 Months
Jindal Global Law SchoolJindal Global Law SchoolLL.M. in Dispute Resolution
  • 12 Months
IIITBIIITBExecutive Program in Generative AI for Leaders
  • 4 Months
New
IIIT BangaloreIIIT BangaloreExecutive Post Graduate Programme in Machine Learning & AI
  • 13 Months
Bestseller
upGradupGradData Science Bootcamp with AI
  • 6 Months
New
upGradupGradAdvanced Certificate Program in GenerativeAI
  • 4 Months
New
KnowledgeHut upGradKnowledgeHut upGradSAFe® 6.0 Certified ScrumMaster (SSM) Training
  • Self-Paced
upGrad KnowledgeHutupGrad KnowledgeHutCertified ScrumMaster®(CSM) Training
  • 16 Hours
upGrad KnowledgeHutupGrad KnowledgeHutLeading SAFe® 6.0 Certification
  • 16 Hours
KnowledgeHut upGradKnowledgeHut upGradPMP® certification
  • Self-Paced
upGrad KnowledgeHutupGrad KnowledgeHutAWS Solutions Architect Certification
  • 32 Hours
upGrad KnowledgeHutupGrad KnowledgeHutAzure Administrator Certification (AZ-104)
  • 24 Hours
KnowledgeHut upGradKnowledgeHut upGradAWS Cloud Practioner Essentials Certification
  • 1 Week
KnowledgeHut upGradKnowledgeHut upGradAzure Data Engineering Training (DP-203)
  • 1 Week
MICAMICAAdvanced Certificate in Digital Marketing and Communication
  • 6 Months
Bestseller
MICAMICAAdvanced Certificate in Brand Communication Management
  • 5 Months
Popular
IIM KozhikodeIIM KozhikodeProfessional Certification in HR Management and Analytics
  • 6 Months
Bestseller
Duke CEDuke CEPost Graduate Certificate in Product Management
  • 4-8 Months
Bestseller
Loyola Institute of Business Administration (LIBA)Loyola Institute of Business Administration (LIBA)Executive PG Programme in Human Resource Management
  • 11 Months
Popular
Goa Institute of ManagementGoa Institute of ManagementExecutive PG Program in Healthcare Management
  • 11 Months
IMT GhaziabadIMT GhaziabadAdvanced General Management Program
  • 11 Months
Golden Gate UniversityGolden Gate UniversityProfessional Certificate in Global Business Management
  • 6-8 Months
upGradupGradContract Law Certificate Program
  • Self paced
New
IU, GermanyIU, GermanyMaster of Business Administration (90 ECTS)
  • 18 Months
Bestseller
IU, GermanyIU, GermanyMaster in International Management (120 ECTS)
  • 24 Months
Popular
IU, GermanyIU, GermanyB.Sc. Computer Science (180 ECTS)
  • 36 Months
Clark UniversityClark UniversityMaster of Business Administration
  • 23 Months
New
Golden Gate UniversityGolden Gate UniversityMaster of Business Administration
  • 20 Months
Clark University, USClark University, USMS in Project Management
  • 20 Months
New
Edgewood CollegeEdgewood CollegeMaster of Business Administration
  • 23 Months
The American Business SchoolThe American Business SchoolMBA with specialization
  • 23 Months
New
Aivancity ParisAivancity ParisMSc Artificial Intelligence Engineering
  • 24 Months
Aivancity ParisAivancity ParisMSc Data Engineering
  • 24 Months
The American Business SchoolThe American Business SchoolMBA with specialization
  • 23 Months
New
Aivancity ParisAivancity ParisMSc Artificial Intelligence Engineering
  • 24 Months
Aivancity ParisAivancity ParisMSc Data Engineering
  • 24 Months
upGradupGradData Science Bootcamp with AI
  • 6 Months
Popular
upGrad KnowledgeHutupGrad KnowledgeHutData Engineer Bootcamp
  • Self-Paced
upGradupGradFull Stack Software Development Bootcamp
  • 6 Months
Bestseller
upGradupGradUI/UX Bootcamp
  • 3 Months
upGradupGradCloud Computing Bootcamp
  • 7.5 Months
PwCupGrad CampusCertification Program in Financial Modelling & Analysis in association with PwC India
  • 5 Months
upGrad KnowledgeHutupGrad KnowledgeHutSAFe® 6.0 POPM Certification
  • 16 Hours
upGradupGradDigital Marketing Accelerator Program
  • 05 Months
upGradupGradAdvanced Certificate Program in GenerativeAI
  • 4 Months
New
upGradupGradData Science Bootcamp with AI
  • 6 Months
Popular
upGradupGradFull Stack Software Development Bootcamp
  • 6 Months
Bestseller
upGradupGradUI/UX Bootcamp
  • 3 Months
PwCupGrad CampusCertification Program in Financial Modelling & Analysis in association with PwC India
  • 4 Months
upGradupGradCertificate Course in Business Analytics & Consulting in association with PwC India
  • 06 Months
upGradupGradDigital Marketing Accelerator Program
  • 05 Months

LOC vs ILOC Pandas: Understanding the Key Differences, Similarities, and More

Updated on 20 January, 2025

13K+ views
11 min read

In Pandas, loc allows you to access data using row and column labels (names), while iloc selects data based on the integer positions of rows and columns.

Understanding the difference between loc vs iloc Pandas is particularly important in data science tasks like feature engineering, filtering data, or performing operations on large datasets.

What is loc in Pandas? Examples and Use Cases

In Pandas, loc is a label-based data selection method that allows you to access rows and columns using their labels or index names. 

loc is used when you want to retrieve specific data from a DataFrame based on the index labels and column names. loc ensures accurate selection based on labels.

Here’s the syntax of .loc in Python.

df.loc[rows, columns]

Where, 

rows specifies the label(s) of the rows to select.

columns specifies the label(s) of the columns to select.

To understand the implementation of loc using the above syntax, check out the following example, including its different use cases.

loc in Pandas Using Example

The use of loc in Pandas can be better understood through an example, where you can perform various operations using its syntax.
Let's begin by creating a DataFrame and then use loc to access specific data.

import pandas as pd
# Sample DataFrame with names
data = {
    'Name': ['Arjun', 'Priya', 'Rajesh', 'Sita'],
    'Age': [25, 28, 22, 30],
    'City': ['Mumbai', 'Delhi', 'Bengaluru', 'Chennai']
}
df = pd.DataFrame(data)
df.set_index('Name', inplace=True)
print(df)

Output:

       Age           City
Name                       
Arjun    25         Mumbai
Priya    28          Delhi
Rajesh   22     Bengaluru
Sita     30        Chennai

Now that you’ve created a sample DataFrame, let’s use loc to perform various operations such as selecting a particular row or modifying data.

1. Selecting a row by label

You can access specific rows by name (like 'Arjun', 'Priya') rather than by numeric index positions. In case labels are missing, loc raises a KeyError because it requires explicit row and column labels to access data.

# Select row for 'Priya'
print(df.loc['Priya'])

Output:

Age             28
City        Delhi
Name: Priya, dtype: object

2. Selecting specific rows and columns

Use loc to select both rows and columns at the same time, like getting the 'Age' and 'City' for specific names.

# Select Age and City for 'Arjun' and 'Sita'
print(df.loc[['Arjun', 'Sita'], ['Age', 'City']])

Output:

        Age      City
Name                    
Arjun    25    Mumbai
Sita     30   Chennai

3. Conditional selection

You can filter data using conditions like df['Age'] > 25 to get only those people whose age is greater than 25.

# Select rows where Age is greater than 25
print(df.loc[df['Age'] > 25])

Output:

 Age      City
Name                    
Priya    28     Delhi
Sita     30   Chennai

4. Setting values using loc 

Using loc, you can update values for specific rows and columns, which is useful for modifying individual entries in the DataFrame. The use of loc for this task ensures readability and accuracy when working with labeled indices.

# Modify the age for Rajesh to 26
df.loc['Rajesh', 'Age'] = 26
print(df.loc['Rajesh'])

Output:

Age                26
City        Bengaluru
Name: Rajesh, dtype: object

Updated DataFrame:

        Age        City
Name                   
Arjun    25      Mumbai
Priya    28       Delhi
Rajesh   26   Bengaluru
Sita     30     Chennai

5. Selecting a range of rows by label

Using loc, you can easily select a range of rows using the labels, such as from 'Rajesh' to 'Sita'.

# Select rows from 'Rajesh' to 'Sita' inclusively
print(df.loc['Rajesh':'Sita'])

Output:

       Age         City
Name                         
Rajesh   22   Bengaluru
Sita     30     Chennai

The data science course will teach you tools and techniques, such as Pandas, to help you effectively handle datasets for various purposes. Enroll in upGrad’s Online Data Science Courses and master the art of data manipulation.

Now that you have discovered how loc allows you to access rows and columns using their labels, let’s check out how you can use positional-based indexing to access elements.

What is iloc in Python? Examples and Applications

In Pandas, iloc is an integer-location-based indexing method that selects rows and columns from a DataFrame using their integer positions, not by their labels or names. 

Here’s the syntax for using iloc in Pandas.

df.iloc[rows, columns]

Where, 

rows specifies the integer position(s) of the rows to select.

columns specifies the integer position(s) of the columns to select.

 

Learn the basics of Python programming and explore its applications for tasks such as data analysis. Join the Learn Basic Python Programming course.

 

To understand how iloc is used to access elements in a particular row or column, let’s explore a particular example and then consider different use cases.

iloc in Pandas Using Example

The first step is to create a sample DataFrame, which contains the names, ages and cities as data.

Here’s a code snippet for creating the DataFrame.

import pandas as pd
# Sample DataFrame with Indian names
data = {
    'Name': ['Arjun', 'Priya', 'Rajesh', 'Sita'],
    'Age': [25, 28, 22, 30],
    'City': ['Mumbai', 'Delhi', 'Bengaluru', 'Chennai']
}
df = pd.DataFrame(data)
print(df)

Output:

     Name  Age         City
0   Arjun   25       Mumbai
1   Priya   28        Delhi
2  Rajesh   22   Bengaluru
3    Sita   30      Chennai

Now that you’ve created a sample dataset, let’s understand how to use iloc for specific use cases, such as selecting rows, modifying data, or slicing the dataset.

1. Selecting a row by integer position

iloc is particularly useful when you need to access rows by their position in the DataFrame.

# Select the second row using the indexing method (index 1)
print(df.iloc[1])

Output:

Name       Priya
Age          28
City       Delhi
Name: 1, dtype: object

2. Selecting specific rows and columns

Just like rows, columns can also be accessed using their integer positions.

# Select the Age and City columns for the first two rows (index 0 and 1)
print(df.iloc[0:2, [1, 2]])

Output:

Age         City
0   25       Mumbai
1   28        Delhi

3. Using negative indices

Similar to Python lists, you can use negative indices with iloc. 

# Select the last row using position-based negative indexing(using -1 to get the last position)
print(df.iloc[-1])

Output:

Name        Sita
Age          30
City     Chennai
Name: 3, dtype: object

4. Selecting a single element

You can use iloc to access a specific cell by passing the row index and column index.

# Select the element from the second row and the third column (Age for 'Priya')
print(df.iloc[1, 1])

Output:

28

5. Slicing rows

You can slice rows using iloc, just like list slicing in Python. For example, df.iloc[0:3] will return the first three rows.

# Implement slicing by selecting the first three rows
print(df.iloc[:3])

Output:

     Name  Age         City
0   Arjun   25       Mumbai
1   Priya   28        Delhi
2  Rajesh   22   Bengaluru

6. Modify Data

You can also modify specific rows and columns in the DataFrame using integer positions with iloc.

# Modify data of Arjun's age and Rajesh's city using .iloc
df.iloc[0, 1] = 26  # Changing 'Age' of Arjun (first row) to 26
df.iloc[2, 2] = 'Hyderabad'  # Changing 'City' of Rajesh (third row) to 'Hyderabad'
print(df)

Output:        

             Name  Age         City
CustomerID                         
C001        Arjun   26       Mumbai
C002        Priya   28        Delhi
C003       Rajesh   22   Hyderabad
C004        Sita   30      Chennai

Also Read: Pandas Cheat Sheet in Python for Data Science: Complete List for 2025

Now that you’ve seen how to use loc and iloc to access elements in a particular row or column, let’s understand the difference between loc and iloc in Pandas.

upGrad’s Exclusive Data Science Webinar for you –

Watch our Webinar on How to Build Digital & Data Mindset?

 

Difference Between loc and iloc in Pandas: Key Differences Explained

The difference between loc and iloc is mainly based on the way elements are selected. While loc supports selection based on labels, iloc uses indices for selection. 

Here are the loc vs iloc differences.

Parameter  loc iloc
Selection Type Label-based selection Integer-based selection
Indexing Type Works with row/column labels or index names Works with integer indices (zero-based)
Inclusion of End in Slicing The end index is included in slicing. The end index is excluded in slicing.
Error Handling Error Type Raises KeyError when an invalid label is used. Raises IndexError when an invalid position is used.
Use of Labels Uses explicit labels (e.g., 'Rajesh', 'Age') Uses integer positions (e.g., 0, 1, 2)
Slicing Can slice by label (e.g., df.loc['a':'c']) Can slice by position (e.g., df.iloc[0:3])
Modifying Data Data can be modified by label Data can be modified by position
Support for Boolean Indexing Supports Boolean indexing directly. (e.g., df.loc[df['Age'] > 25]) Does not support Boolean indexing.

Also Read: Mastering Pandas: Important Pandas Functions For Your Next Project

While LOC and ILOC differ in their methods for selecting elements, they share similarities in selecting non-contiguous rows and columns. Let’s explore these similarities in more detail.

loc vs iloc Pandas: Similarities

The loc and iloc methods show similarities when it comes to selecting non-contiguous rows and columns or handling out-of-bound errors.

Here are the similarities between loc vs iloc.

  • Simultaneous Selection of Row and Column 

Both loc and iloc allow you to select both rows and columns at the same time, providing flexibility in data retrieval. This is especially useful in scenarios where you need to access a specific data point from a large dataset.

Example: For loc, you can use df.loc['row1', 'col1'] to select a specific value using label-based indexing. iloc uses df.iloc[0, 0] to select a specific value using position-based indexing.

  • Handling of Out-of-Bounds Errors

Both loc and iloc throw similar error types when invalid rows or columns are selected. This is useful during debugging when you mistakenly reference non-existent rows/columns.

Example: The loc raises KeyError when an invalid label is provided, while iloc raises IndexError when the out-of-bound index is accessed.

  • Accessing Single and Multiple Cells

Both loc and iloc enable the selection of both single values and multiple values from DataFrames.  This will help streamline data extraction when working with subsets of a dataset.

Example: loc uses df.loc['row1', ['col1', 'col2']] to select multiple columns for a specific row. The iloc uses df.iloc[0, [0, 1]] to select multiple columns for the first row.

  • Selecting Multiple Rows and Columns

Both loc and iloc support selecting multiple rows and columns by providing a list of label positions. This is beneficial if you need to extract or analyze subsets of the data for modeling or visualization.

Example: loc uses df.loc[['row1', 'row2'], ['col1', 'col2']] to select multiple rows and columns, whereas iloc uses df.iloc[[0, 1], [0, 2]] to perform the same.

  • Supports Slicing

Both loc and iloc allow slicing to be performed, allowing you to select a range of rows and columns. It is useful in cases like analyzing data within a specific range or time period.

Example: loc uses df.loc['row1':'row3'] to select all rows from 'row1' to 'row3', including both endpoints. iloc performs slicing with integer positions, where df.iloc[0:3] selects the first three rows but excludes the endpoints. 

While there are differences, loc and iloc provide similar functionality for accessing, modifying, and slicing data in Pandas DataFrames. To understand the behavior of these methods, let’s explore a real-world example.

In-Depth Example: loc and iloc in Pandas

For an in-depth understanding of loc and iloc in Pandas, let’s perform operations on a Telco Customer dataset, which can be sourced from platforms like Kaggle. 

Here’s a step-by-step process to understand the working of loc and iloc for the telecom customer dataset.

1. Adding the Dataset to the DataFrame

The first step is to load the Telco customer dataset into a Pandas DataFrame. You can either create a simple DataFrame from a dictionary or load it from an external CSV or Excel file. In this case, you will create the dataset manually.

import pandas as pd
# Sample Telco Customer DataFrame
data = {
    'CustomerID': ['C001', 'C002', 'C003', 'C004'],
    'Name': ['Rahul', 'Priya', 'Amit', 'Anjali'],
    'Age': [28, 34, 22, 45],
    'City': ['Delhi', 'Mumbai', 'Bengaluru', 'Chennai'],
    'Subscription': ['Basic', 'Premium', 'Basic', 'Premium']
}

# Create a DataFrame
df = pd.DataFrame(data)

# Set 'CustomerID' as the index for better readability
df.set_index('CustomerID', inplace=True)

# Display the DataFrame
print(df)

Output:

            Name  Age           City Subscription
CustomerID                                      
C001        Rahul   28         Delhi       Basic
C002        Priya   34        Mumbai     Premium
C003        Amit   22    Bengaluru       Basic
C004      Anjali   45       Chennai     Premium

Also Read: Pandas Dataframe Astype: Syntax, Data Types, Creating Dataframe

2. Selecting a specific row

The loc selects rows based on their labels (names), while the iloc uses the index to select. Let’s see how loc and iloc is used to select data for different cases.

  • Select a specific row using loc
# Select a specific row using loc (based on CustomerID)
loc_result = df.loc['C003']
print("\nSelected Row using loc (CustomerID = C003):")
print(loc_result)

Output:

Selected Row using loc (CustomerID = C003):
Name              Amit
Age                22
City       Bengaluru
Subscription      Basic
Name: C003, dtype: object

Here, loc selects the row corresponding to customer 'C003' using the label.

  • Select specific rows using iloc
# Select a specific row using iloc (based on index position, 2nd index)
iloc_result = df.iloc[2]
print("\nSelected Row using iloc (Index position = 2):")
print(iloc_result)

Output:

Selected Row using iloc (Index position = 2):
Name              Amit
Age                22
City       Bengaluru
Subscription      Basic
Name: C003, dtype: object

Here, iloc selects the rows for 'C003' based on index position 2.

3. Difference between loc and iloc for this example

To understand how loc and iloc work, you’ll perform the same operation using both these methods.

  • Using loc to select 'Name' and 'City' for 'C003':
loc_result = df.loc['C003', ['Name', 'City']]
print(loc_result)

Output:

Name           Amit
City          Bengaluru
Name: C003, dtype: object
  • Using iloc to select 'Name' and 'City' for the third row
iloc_result = df.iloc[2, [0, 3]]
print(iloc_result)

Output:

Name           Amit
City           Bengaluru
Name: C003, dtype: object

You can observe that loc uses the label 'C003' to select data, while iloc uses the integer position (2) to select the third row. To access columns, loc uses their labels ('Name' and 'City'), while iloc uses the column positions (0 for 'Name' and 3 for 'City').

Now that you’ve understood the workings of loc and iloc through a practical example, let’s now explore ways to boost your knowledge in this field.

Transform Your Career with upGrad’s Expert-Led Programs

In data analytics and machine learning, loc and iloc are essential tools for selecting and manipulating data within Pandas DataFrames. upGrad’s specialized courses will provide you with hands-on learning opportunities to learn tools like Python, Pandas, loc, iloc, and more to solve real-world challenges.

Here are some courses that can help you learn data handling:

Do you need help deciding which courses can help you in Python? Contact upGrad for personalized counseling and valuable insights. For more details, you can also visit your nearest upGrad offline center. 

Unlock the power of data with our popular Data Science courses, designed to make you proficient in analytics, machine learning, and big data!

Elevate your career by learning essential Data Science skills such as statistical modeling, big data processing, predictive analytics, and SQL!

Stay informed and inspired  with our popular Data Science articles, offering expert insights, trends, and practical tips for aspiring data professionals

Frequently Asked Questions (FAQs)

1. What is iloc in Python?

iloc in Python is a Pandas function used for integer-location based indexing. It allows you to select rows and columns by their integer positions.

2. Is loc inclusive?

Yes, loc is inclusive of both the start and end points in slicing operations. For example, df.loc[1:3] will include rows 1, 2, and 3.

3. What is df in Python?

df is an abbreviation for a Pandas DataFrame, which is a 2D labeled data structure in Python used to store and manipulate tabular data.

4. How to remove duplicates in Pandas?

To remove duplicates in a Pandas DataFrame, use the drop_duplicates() method: df.drop_duplicates(inplace=True)

5. What is the difference between loc vs iloc?

loc is label-based, selecting rows and columns by their labels, while iloc is position-based, selecting rows and columns by their integer index positions.

6. What is the difference between a dataframe and a series?

A DataFrame is a 2D table with rows and columns, while a Series is a 1D array (single column) with an index. 

7. What happens if labels are missing when using loc?

If labels are missing when using loc, a KeyError will be raised because loc requires explicit row and column labels to access data.

8. Can iloc handle mixed indices?

No, iloc cannot handle mixed indices. It is integer-location based, so it only works with integer positions for both rows and columns.

9. What is slicing in Python?

Slicing in Python refers to extracting a subset of a sequence (like a list, string, or array) by specifying a start, stop, and step value (e.g., my_list[1:4]).

10. What is indexing in Python?

Indexing in Python refers to accessing individual elements in a sequence (like a list or DataFrame) using an index. For example, my_list[0] accesses the first element.