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


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

“.loc” 属性允许使用整数、整数列表、带整数的切片对象、布尔数组等作为输入。如果 DataFrame 中未找到指定的标签,它将引发 KeyError。

示例 1

在以下示例中,我们使用包含键值对的 Python 字典创建了一个 Pandas DataFrame“df”。此处,索引标签是通过使用 index 参数指定的。

# importing pandas package
import pandas as pd

# create a 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)

# get the elements by labels
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 中的一组元素。

# importing pandas package
import pandas as pd

# create a 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)

# set the elements by labels
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,如上面的输出块中所示。

更新于: 2022-03-08

4K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告