loc
(基于标签的索引)
特点
- 标签索引:
loc
使用行索引和列标签来访问数据。可以通过行的标签(例如字符串、日期、或自定义的索引)以及列的名称来选择数据。 - 包含结束点:在使用切片操作符(
:
)时,loc
包括切片的结束点。例如,df.loc[1:3]
将返回索引为 1、2、3 的行,而不仅仅是 1 和 2。 - 支持布尔索引:可以通过布尔条件直接筛选出满足条件的数据。
语法与例子
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)
print(df.loc[0, 'Name'])
print(df.loc[:, 'Age'])
print(df.loc[:, ['Name', 'City']])
print(df.loc[1:2, :])
print(df.loc[df['Age'] > 25, 'Name'])
iloc
(基于整数位置的索引)
特点
- 整数位置索引:
iloc
使用行索引和列索引的整数位置来访问数据。行和列的索引是从 0 开始的整数。 - 不包含结束点:在使用切片操作符(
:
)时,iloc
不包括切片的结束点。例如,df.iloc[1:3]
只返回索引为 1 和 2 的行,而不包括 3。 - 支持混合切片:你可以通过整数位置选择特定的行或列范围。
语法与例子
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)
print(df.iloc[0, 0])
print(df.iloc[:, 1])
print(df.iloc[:, [0, 2]])
print(df.iloc[1:3, :])
总结