Pandas DataFrame.loc
Pandas DataFrame.loc
The DataFrame.loc property in pandas is used for accessing a group of rows and columns by labels or a boolean array. This property is particularly powerful for filtering data based on conditions or selecting specific rows and columns.
Syntax
The syntax for DataFrame.loc is:
DataFrame.loc[row_labels, column_labels]Here, row_labels and column_labels can be single labels, lists, slices, or boolean arrays to specify the rows and columns to access.
Parameters
| Parameter | Description |
|---|---|
row_labels | The row labels or indices to select. Can be a single label, list, slice, or boolean array. |
column_labels | The column labels or names to select. Can be a single label, list, or slice. If not specified, all columns are selected. |
Returns
A DataFrame, Series, or scalar value depending on the input provided.
Examples
Selecting Specific Rows
Use loc to select specific rows by their labels.
Python Program
import pandas as pd
# Create a DataFrame
data = {
'Name': ['Arjun', 'Ram', 'Priya'],
'Age': [25, 30, 35],
'Salary': [70000, 80000, 90000]
}
df = pd.DataFrame(data, index=['A', 'B', 'C'])
# Select a specific row by label
print("Row 'A':")
print(df.loc['A'])Output
Row 'A':
Name Arjun
Age 25
Salary 70000
Name: A, dtype: objectSelecting Specific Rows and Columns
Select both specific rows and specific columns using loc.
Python Program
import pandas as pd
# Create a DataFrame
data = {
'Name': ['Arjun', 'Ram', 'Priya'],
'Age': [25, 30, 35],
'Salary': [70000, 80000, 90000]
}
df = pd.DataFrame(data, index=['A', 'B', 'C'])
# Select specific rows and columns
print("Row 'B' and column 'Salary':")
print(df.loc['B', 'Salary'])Output
Row 'B' and column 'Salary':
80000Selecting Multiple Rows and Columns
Use lists of labels to select multiple rows and columns.
Python Program
import pandas as pd
# Create a DataFrame
data = {
'Name': ['Arjun', 'Ram', 'Priya'],
'Age': [25, 30, 35],
'Salary': [70000, 80000, 90000]
}
df = pd.DataFrame(data, index=['A', 'B', 'C'])
# Select multiple rows and columns
print("Rows 'A' and 'C', and columns 'Name' and 'Salary':")
print(df.loc[['A', 'C'], ['Name', 'Salary']])Output
Rows 'A' and 'C', and columns 'Name' and 'Salary':
Name Salary
A Arjun 70000
C Priya 90000Using Boolean Indexing
Filter rows based on a condition using boolean indexing with loc.
Python Program
import pandas as pd
# Create a DataFrame
data = {
'Name': ['Arjun', 'Ram', 'Priya'],
'Age': [25, 30, 35],
'Salary': [70000, 80000, 90000]
}
df = pd.DataFrame(data, index=['A', 'B', 'C'])
# Filter rows where Age > 25
print("Rows where Age > 25:")
print(df.loc[df['Age'] > 25])Output
Rows where Age > 25:
Name Age Salary
B Ram 30 80000
C Priya 35 90000Using Slices
Select rows and columns using slices.
Python Program
import pandas as pd
# Create a DataFrame
data = {
'Name': ['Arjun', 'Ram', 'Priya'],
'Age': [25, 30, 35],
'Salary': [70000, 80000, 90000]
}
df = pd.DataFrame(data, index=['A', 'B', 'C'])
# Select rows 'A' to 'B' and all columns
print("Rows 'A' to 'B':")
print(df.loc['A':'B'])Output
Rows 'A' to 'B':
Name Age Salary
A Arjun 25 70000
B Ram 30 80000Summary
In this tutorial, we explored the DataFrame.loc property in pandas. Key takeaways include:
- Using
locto access rows and columns by labels. - Selecting specific rows, columns, or both.
- Filtering data using boolean indexing.
- Using slices to access ranges of rows and columns.
The DataFrame.loc property is a versatile tool for accessing and manipulating data in pandas DataFrames.