loc是Pandas中按标签选择数据的方法,语法为df.loc[行标签, 列标签],可选取单行、多行、切片(包含结束值)、条件筛选及更新数据,如df.loc['A']、df.loc['A':'C']、df.loc[df['age']>25],并支持列选取与赋值,注意使用标签索引且切片包含末尾,索引不存在会报错。
loc 是 Pandas 库中用于按标签(label)选择数据的方法,常用于 DataFrame 和 Series 中。它主要通过行和列的标签来筛选数据,功能强大且使用灵活。
基本语法
df.loc[行标签, 列标签]其中:
- 行标签可以是单个标签、标签列表、切片(包含结束值)
- 列标签同理,可选一个或多个列
- 如果只想操作行,可以省略列部分:df.loc[行标签]
常见用法示例
1. 按行标签选取数据
# 获取索引为 'A' 的行df.loc['A']
2. 按行和列同时选取
# 获取索引为 'A',列为 'name' 的值df.loc['A', 'name']
3. 选取多行或多列
# 获取索引为 'A' 到 'C' 的所有行df.loc['A':'C']
# 获取 'name' 和 'age' 两列
df.loc[:, ['name', 'age']]
4.
条件筛选
df.loc[df['age'] > 25]
# 同时筛选满足条件的行,并只取某些列
df.loc[df['age'] > 25, ['name', 'city']]
5. 更新数据
# 将 age 大于 30 的人的 status 改为 'senior'df.loc[df['age'] > 30, 'status'] = 'senior'
注意事项
- 切片操作包含起始和结束标签(与 Python 原生切片不同)
- 索引不存在会引发 KeyError
- 适用于基于标签的索引,若要按位置使用,应选择 iloc
基本上就这些。掌握 loc 能让你更高效地处理数据筛选和赋值任务。








