dataframe取特定几行值
时间: 2025-07-05 15:29:53 浏览: 5
### 如何在 Pandas DataFrame 中选取特定的几行值
在 Pandas 中,可以通过多种方式来选取 DataFrame 的特定行。以下是几种常见的方法:
#### 使用 `.loc` 进行列标签定位
如果知道要选取的行的索引标签,则可以使用 `.loc` 来实现。`.loc` 是基于标签的索引器,适用于已知具体行名的情况。
```python
import pandas as pd
import numpy as np
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data, index=['row0', 'row1', 'row2'])
print(df)
# 选取指定行
selected_rows = df.loc[['row0', 'row2']] # 根据行标签选取多行
print(selected_rows)
```
这种方法适合于当行索引具有明确名称时使用[^2]。
---
#### 使用 `.iloc` 进行位置定位
如果需要按照整数位置来选取行,而不是依赖具体的行标签,那么可以使用 `.iloc`。它是一个基于整数位置的索引器。
```python
# 选取前两行
first_two_rows = df.iloc[:2]
print(first_two_rows)
# 选取第1行和第2行 (注意:Python 列表切片左闭右开)
specific_rows = df.iloc[[0, 2]]
print(specific_rows)
```
此方法特别适用于不知道确切行名但了解其相对位置的情形。
---
#### 基于条件筛选行
除了直接通过索引或位置选取外,还可以利用布尔掩码对满足某些条件的行进行筛选。这通常用于复杂的数据分析场景。
```python
# 筛选 B 列中值大于等于5的所有行
filtered_rows = df[df['B'] >= 5]
print(filtered_rows)
```
上述代码会返回 `B` 列中所有值大于等于 5 对应的那些行[^3]。
---
#### 组合多个条件
对于更复杂的查询需求,可组合多个逻辑表达式完成精确匹配。
```python
# 找到 A 列小于3 并且 C 列大于7 的所有记录
complex_filtered = df[(df['A'] < 3) & (df['C'] > 7)]
print(complex_filtered)
```
这里需要注意,在 Python 中连接两个布尔数组需要用到 `&`(AND),而非自然语言中的 “and”。同样地,“or”的替代品则是管道符 `|`。
---
### 总结
Pandas 提供了灵活的方式让用户能够轻松访问所需部分数据集。无论是简单的按位选择还是高级别的条件过滤操作都可以高效达成目标。
阅读全文
相关推荐


















