ZetCode

Python Pandas loc 函数

最后修改于 2025 年 2 月 25 日

Pandas 是一个强大的 Python 数据处理库。loc 函数用于基于标签的索引,允许您在 DataFrame 中选择和操作数据。本教程将通过实际示例介绍如何使用 loc

loc 函数功能强大,支持选择行、列和特定单元格。它是使用 Pandas 中的标记数据至关重要的。

按标签选择行

此示例显示了如何使用 loc 函数选择行。

loc_select_rows.py
import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}

df = pd.DataFrame(data, index=['a', 'b', 'c'])
selected_row = df.loc['b']

print(selected_row)

loc['b'] 选择标签为 'b' 的行。这对于访问 DataFrame 中的特定行非常有用。

按标签选择列

此示例演示了如何使用 loc 函数选择列。

loc_select_columns.py
import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}

df = pd.DataFrame(data, index=['a', 'b', 'c'])
selected_column = df.loc[:, 'Name']

print(selected_column)

loc[:, 'Name'] 选择所有行的 'Name' 列。这对于访问特定列非常有用。

选择特定单元格

此示例显示了如何使用 loc 函数选择特定单元格。

loc_select_cells.py
import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}

df = pd.DataFrame(data, index=['a', 'b', 'c'])
selected_cell = df.loc['b', 'Age']

print(selected_cell)

loc['b', 'Age'] 选择行 'b' 和列 'Age' 的单元格。这对于访问单个值非常有用。

选择多行和多列

此示例演示了如何使用 loc 选择多行和多列。

loc_select_multiple.py
import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}

df = pd.DataFrame(data, index=['a', 'b', 'c'])
selected_data = df.loc[['a', 'c'], ['Name', 'City']]

print(selected_data)

loc[['a', 'c'], ['Name', 'City']] 选择行 'a' 和 'c' 以及列 'Name' 和 'City'。这对于提取数据的子集非常有用。

使用 loc 进行条件选择

此示例显示了如何使用 loc 进行条件选择。

loc_conditional.py
import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}

df = pd.DataFrame(data, index=['a', 'b', 'c'])
selected_data = df.loc[df['Age'] > 30]

print(selected_data)

loc[df['Age'] > 30] 选择 'Age' 列大于 30 的行。这对于根据条件过滤数据非常有用。

使用 loc 更新数据

此示例演示了如何使用 loc 函数更新数据。

loc_update.py
import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}

df = pd.DataFrame(data, index=['a', 'b', 'c'])
df.loc['b', 'Age'] = 31

print(df)

loc['b', 'Age'] = 31 更新行 'b' 的 'Age' 值。这对于修改特定的数据点非常有用。

使用切片选择行

此示例显示了如何使用切片与 loc 来选择行。

loc_slicing.py
import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}

df = pd.DataFrame(data, index=['a', 'b', 'c'])
selected_data = df.loc['a':'c']

print(selected_data)

loc['a':'c'] 选择从 'a' 到 'c' 的行。这对于选择一行范围非常有用。

使用 loc 的最佳实践

来源

Pandas loc 文档

在本文中,我们探讨了如何在 Pandas 中使用 loc 函数。

作者

我叫 Jan Bodnar,是一名热情的程序员,拥有丰富的编程经验。自 2007 年以来,我一直撰写编程文章。迄今为止,我已撰写了 1400 多篇文章和 8 本电子书。我在教学编程方面拥有十多年的经验。

所有 Pandas 教程列表。