Pandas:如何使用 LocIndexer

作者:编程家 分类: pandas 时间:2025-12-13

使用 Pandas 的 LocIndexer 对象可以方便地进行基于标签的数据选择和操作。LocIndexer 是一个基于标签的选择器,可以通过行标签和列标签来定位和访问数据。它提供了一种简单而直观的方式来处理 Pandas DataFrame 和 Series 对象。

在使用 LocIndexer 进行数据选择时,可以使用单个标签、标签列表或者切片来进行选择。这使得我们可以根据具体的需求,灵活地选择和操作数据。

LocIndexer 的基本用法

首先,我们需要导入 Pandas 库,并创建一个示例 DataFrame:

python

import pandas as pd

data = {'Name': ['John', 'Emma', 'Peter', 'Lisa'],

'Age': [25, 30, 28, 35],

'Gender': ['Male', 'Female', 'Male', 'Female'],

'City': ['New York', 'London', 'Paris', 'Tokyo']}

df = pd.DataFrame(data)

接下来,我们可以使用 LocIndexer 对象进行数据选择和操作。例如,我们可以使用单个标签选择一行数据:

python

row = df.loc[1]

print(row)

输出:

Name Emma

Age 30

Gender Female

City London

Name: 1, dtype: object

我们也可以使用标签列表选择多行数据:

python

rows = df.loc[[0, 2]]

print(rows)

输出:

Name Age Gender City

0 John 25 Male New York

2 Peter 28 Male Paris

另外,我们还可以使用切片选择连续的行数据:

python

rows = df.loc[1:3]

print(rows)

输出:

Name Age Gender City

1 Emma 30 Female London

2 Peter 28 Male Paris

3 Lisa 35 Female Tokyo

使用 LocIndexer 进行条件选择

除了基于标签的选择,我们还可以使用 LocIndexer 对象进行条件选择。我们可以通过指定条件来选择满足特定条件的行数据。

例如,我们可以选择年龄大于等于30岁的行数据:

python

rows = df.loc[df['Age'] >= 30]

print(rows)

输出:

Name Age Gender City

1 Emma 30 Female London

3 Lisa 35 Female Tokyo

我们也可以使用多个条件进行选择,使用逻辑运算符进行条件组合:

python

rows = df.loc[(df['Age'] >= 30) & (df['Gender'] == 'Female')]

print(rows)

输出:

Name Age Gender City

3 Lisa 35 Female Tokyo

使用 LocIndexer 进行列选择

除了行选择,我们还可以使用 LocIndexer 对象进行列选择。我们可以使用单个标签或者标签列表选择需要的列数据。

例如,我们可以选择单个列数据:

python

column = df.loc[:, 'Age']

print(column)

输出:

0 25

1 30

2 28

3 35

Name: Age, dtype: int64

我们也可以选择多个列数据:

python

columns = df.loc[:, ['Name', 'City']]

print(columns)

输出:

Name City

0 John New York

1 Emma London

2 Peter Paris

3 Lisa Tokyo

使用 LocIndexer 进行行列同时选择

最后,我们还可以同时选择行和列数据。我们可以根据具体的需求,选择需要的行和列数据。

例如,我们可以选择特定行和列的数据:

python

data = df.loc[1, 'Age']

print(data)

输出:

30

我们也可以选择特定行和多个列的数据:

python

data = df.loc[[0, 2], ['Name', 'City']]

print(data)

输出:

Name City

0 John New York

2 Peter Paris

使用 Pandas 的 LocIndexer 对象可以方便地进行基于标签的数据选择和操作。通过灵活使用单个标签、标签列表或者切片,我们可以选择特定的行和列数据。此外,我们还可以根据条件选择满足特定条件的行数据。LocIndexer 提供了一种简单而直观的方式来处理 Pandas DataFrame 和 Series 对象,使得数据选择和操作更加方便和高效。