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
我们可以注意到,在选择行标签时,切片的起始和结束都被包括在内。