如何使用 .loc 属性访问 pandas DataFrame 元素?

pandasserver side programmingprogramming更新于 2025/5/19 0:37:17

“.loc” 是 pandas.DataFrame 的一个属性。它用于根据行/列标签索引访问 DataFrame 中的元素。它的工作原理类似于 pandas.DataFrame “at” 属性,但不同之处在于,“at” 属性仅用于访问单个元素,而 “loc” 属性可以访问一组元素。

“.loc”属性允许输入整数值、整数值列表、带有整数的切片对象和布尔数组等。如果在 DataFrame 中找不到指定的标签,则会引发 KeyError。

示例 1

在下面的示例中,我们使用带有键和值对的 Python 字典创建了一个 pandas DataFrame "df"。这里使用索引参数指定索引标签。

# 导入 pandas 包
import pandas as pd

# 创建 Pandas DataFrame
df = pd.DataFrame({'B':['black','Blue'], 'W':['white','wine'],'R':['red', 'rose dust'],'G':['green','gray']},
index=['row1','row2'])

print("DataFrame:")

print(df)

# 通过标签获取元素
result = df.loc['row2', 'W']
print("Output:")
print(result)

输出

输出如下所示 −

DataFrame:
        B      W          R       G
row1 black  white       red   green
row2  Blue   wine  rose dust   gray

Output:
wine

我们已通过为 loc 属性指定行/列标签成功访问 DataFrame ”df” 中的单个元素。

示例 2

在这里,我们将通过向 “loc” 提供标签列表来访问 pandas.DataFrame 中的元素组属性。

# 导入 pandas 包
import pandas as pd

# 创建 Pandas DataFrame
df = pd.DataFrame({'B':['black','Blue'], 'W':['white','wine'],'R':['red', 'rose dust'],'G':['green','gray']},
index=['row1','row2'])

print("DataFrame:")

print(df)

# 通过标签设置元素
result = df.loc[['row1','row2']]
print("Output:")
print(result)

输出

输出如下所示 −

DataFrame:
        B     W         R     G
row1 black white       red green
row2  Blue  wine rose dust  gray

Output:
         B    W         R      G
row1 black white      red   green
row2  Blue  wine rose dust   gray

loc 属性使用“loc”属性成功访问了 pandas DataFrame 中的两行(row1 和 row2)元素。结果,它返回了一个新的 DataFrame,该 DataFrame 显示在上面的输出块中。


相关文章