pandas数据过滤与抽样
时间: 2023-11-09 09:00:09 浏览: 85
好的,我了解了。针对你的问题,Pandas提供了多种方法来过滤和抽样数据。其中,最常用的方法是使用布尔索引和使用 .query() 方法进行数据过滤。而采样则可以使用 .sample() 方法。
举个例子,如果我们有一个包含“姓名”和“年龄”的DataFrame,我们可以使用布尔索引来过滤出年龄大于等于18岁的数据:
```python
import pandas as pd
data = {'姓名': ['张三', '李四', '王五', '赵六'], '年龄': [22, 17, 16, 19]}
df = pd.DataFrame(data)
# 使用布尔索引过滤数据
filtered_data = df[df['年龄'] >= 18]
print(filtered_data)
```
输出结果为:
```
姓名 年龄
0 张三 22
3 赵六 19
```
我们也可以使用 .query() 方法来过滤数据:
```python
import pandas as pd
data = {'姓名': ['张三', '李四', '王五', '赵六'], '年龄': [22, 17, 16, 19]}
df = pd.DataFrame(data)
# 使用 .query() 方法过滤数据
filtered_data = df.query('年龄 >= 18')
print(filtered_data)
```
输出结果为:
```
姓名 年龄
0 张三 22
3 赵六 19
```
另外,我们可以使用 .sample() 方法来随机抽样:
```python
import pandas as pd
data = {'姓名': ['张三', '李四', '王五', '赵六'], '年龄': [22, 17, 16, 19]}
df = pd.DataFrame(data)
# 随机抽样
sampled_data = df.sample(n=2) # 随机抽取2条数据
print(sampled_data)
```
输出结果为:
```
姓名 年龄
2 王五 16
0 张三 22
```
阅读全文