如何在 pandas DataFrame 的 .loc 属性中应用切片索引器?


loc 是 pandas DataFrame 构造函数中的一个属性,用于根据行/列标签索引访问 DataFrame 的元素。

.loc 属性采用 DataFrame 行和列的标签来访问元素组。

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

示例 1

在下面的示例中,我们已将切片索引器应用于 loc 属性,以访问第 1-3 行的值。此处包含起始值和结束值。

# importing pandas package
import pandas as pd

# create a Pandas DataFrame
df = pd.DataFrame({'Country':['Brazil','Canada','New Zealand','Iceland', 'India', 'Sri Lanka', 'United States'],
'Capital': [ 'Belmopan','Ottawa','Wellington','Reykjavik', 'New Delhi','Colombo', 'Washington D.C']})

print("DataFrame:")
print(df)

# Access the elements using slicing indexer
result = df.loc[1:3]
print("Output:")
print(result)

输出

输出如下所示:

DataFrame:
        Country         Capital
0        Brazil        Belmopan
1        Canada          Ottawa
2   New Zealand      Wellington
3       Iceland       Reykjavik
4         India       New Delhi
5     Sri Lanka         Colombo
6 United States  Washington D.C

Output:
      Country    Capital
1      Canada     Ottawa
2 New Zealand Wellington
3     Iceland  Reykjavik

loc 属性成功访问了 3 行 (1-3) 的元素。

示例 2

现在,我们可以应用切片索引器来选择多行标签和列中的单个标签。

# importing pandas package
import pandas as pd

# create a Pandas DataFrame
df = pd.DataFrame([['a','b'],['c','d'],['e','f'],['g','h']],
columns=['col1','col2'],
index = ['r1','r2','r3','r4'])

print("DataFrame:")
print(df)

# Access the elements using slicing indexer
result = df.loc['r1':'r3','col1']
print("Output:")
print(result)

输出

输出如下所示:

DataFrame:
   col1 col2
r1    a    b
r2    c    d
r3    e    f
r4    g    h

Output:
r1    a
r2    c
r3    e
Name: col1, dtype: object

我们可以注意到,切片的起始和结束位置都包含在选择行标签中。

更新于:2022年3月8日

260 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告