在Python pandas中,有多种方法可以用于筛选数据,其中包括使用布尔索引、使用.loc[]和.iloc[]运算符、使用.query()方法、使用isin()方法等。我们一起来看看一些demo,为以后自动化分析Excel打下基础呀。

  1. 布尔索引

使用布尔索引可以根据一些条件筛选数据。例如,我们可以通过以下方式找到“age”列中大于25岁的所有行:

import pandas as pd # 创建数据集 data = {'name': ['Tom', 'Jerry', 'Mickey', 'Minnie'], 'age': [25, 30, 22, 27], 'gender': ['M', 'M', 'M', 'F']} df = pd.DataFrame(data) # 用布尔索引筛选数据 df[df['age'] > 25]

运行结果如下所示呀。

  1. .loc[]和.iloc[]运算符

.loc[]和.iloc[]运算符也可以用于筛选数据。其中.loc[]是通过行和列的标签进行筛选,而.iloc[]则是通过行和列的位置进行筛选。例如,我们可以通过以下方式找到第一行和第二列的值:

import pandas as pd # 创建数据集 data = {'name': ['Tom', 'Jerry', 'Mickey', 'Minnie'], 'age': [25, 30, 22, 27], 'gender': ['M', 'M', 'M', 'F']} df = pd.DataFrame(data) # 使用.loc[]和.iloc[]运算符筛选数据 df.loc[0, 'age'] df.iloc[0, 1]

运行结果如下所示呀。

  1. .query()方法

.query()方法可以使用类似SQL的语法来筛选数据。例如,我们可以通过以下方式找到“age”列中大于25岁的所有行:

import pandas as pd # 创建数据集 data = {'name': ['Tom', 'Jerry', 'Mickey', 'Minnie'], 'age': [25, 30, 22, 27], 'gender': ['M', 'M', 'M', 'F']} df = pd.DataFrame(data) # 使用.query()方法筛选数据 df.query('age > 25')

运行结果如下所示呀。

  1. .isin()方法

.isin()方法可以用于筛选某一列中包含特定值的所有行。例如,我们可以通过以下方式找到“gender”列中包含“M”和“F”的所有行:

import pandas as pd # 创建数据集 data = {'name': ['Tom', 'Jerry', 'Mickey', 'Minnie'], 'age': [25, 30, 22, 27], 'gender': ['M', 'M', 'M', 'F']} df = pd.DataFrame(data) # 使用.isin()方法筛选数据 df[df['gender'].isin(['M', 'F'])]

运行结果如下所示呀。

以上就是几种在pandas中筛选数据的方法。