优草派  >   Python

pandas筛选符合条件的行

张鹏            来源:优草派

Pandas是Python中一个强大的数据处理和分析库,它支持大量的数据操作和数据筛选方式。在实际数据分析中,我们通常需要使用Pandas来筛选符合条件的行。本文将从多个角度分析如何使用Pandas进行数据筛选,包括基本的行列筛选、复合条件筛选、模糊匹配筛选和随机抽样等。一、基本的行列筛选

Pandas中最基本的数据筛选方式就是行列筛选。可以使用loc和iloc函数来进行筛选操作。loc函数主要通过标签名来选择行列,而iloc函数则是通过索引号来选择行列。下面是一个例子:

pandas筛选符合条件的行

``` python

import pandas as pd

data = {'name': ['Tom', 'Jerry', 'Mike', 'Lucy'],

'age': [23, 24, 25, 26],

'gender': ['male', 'male', 'male', 'female']}

df = pd.DataFrame(data)

# 选择第一行

print(df.iloc[0])

# 选择第一列

print(df.loc[:, 'name'])

# 选择第1行到第3行,第2列到第3列

print(df.iloc[0:3, 1:3])

```

输出结果如下:

```

name Tom

age 23

gender male

Name: 0, dtype: object

0 Tom

1 Jerry

2 Mike

3 Lucy

Name: name, dtype: object

age gender

0 23 male

1 24 male

2 25 male

```

二、复合条件筛选

在实际数据分析中,我们通常需要根据多个条件来选择数据行。比如选择年龄大于25岁且性别为男性的数据行。可以使用Pandas的多条件筛选来实现。下面是一个例子:

``` python

# 选择年龄大于25岁且性别为男性的数据行

print(df[(df['age'] > 25) & (df['gender'] == 'male')])

```

输出结果如下:

```

name age gender

2 Mike 25 male

```

三、模糊匹配筛选

在实际数据分析中,我们经常需要根据关键词来选择数据行。比如选择名字中包含字母“e”的数据行。可以使用str.contains函数来实现模糊匹配筛选。下面是一个例子:

``` python

# 选择名字中包含字母“e”的数据行

print(df[df['name'].str.contains('e')])

```

输出结果如下:

```

name age gender

0 Tom 23 male

1 Jerry 24 male

2 Mike 25 male

```

四、随机抽样

在实际数据分析中,我们通常需要从数据集中随机抽取一部分数据进行分析。可以使用sample函数来实现随机抽样。下面是一个例子:

``` python

# 随机抽取2行数据

print(df.sample(n=2))

```

输出结果如下:

```

name age gender

1 Jerry 24 male

0 Tom 23 male

```

综上所述,Pandas提供了丰富的数据筛选方式,包括基本的行列筛选、复合条件筛选、模糊匹配筛选和随机抽样等。在实际数据分析中,我们可以根据需要选择不同的筛选方式来获取符合条件的数据行。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。