python使用pandas实现筛选功能方式

  • Post category:Python

接下来我将详细讲解如何使用Python的pandas库实现筛选功能的方法。

1. pandas DataFrame基础

pandas是一个Python中的数据分析工具库,常用于数据清洗、转换、分析和可视化等方面。其中最核心的数据结构就是DataFrame,它类似于Excel中的表格数据,可以用于存储和处理多个数据字段。

比如下面的例子展示了一个简单的DataFrame:

import pandas as pd

data = {'Name': ['Tom', 'Jerry', 'Mike', 'Amy', 'Mary'], 
        'Age': [28, 30, 35, 25, 27], 
        'Gender': ['M', 'M', 'M', 'F', 'F'], 
        'Score': [80, 75, 90, 85, 95]}

df = pd.DataFrame(data)
print(df)

输出:

    Name  Age Gender  Score
0    Tom   28      M     80
1  Jerry   30      M     75
2   Mike   35      M     90
3    Amy   25      F     85
4   Mary   27      F     95

2. pandas DataFrame数据筛选

有了DataFrame,我们可以根据自己的需求进行数据筛选,以便提取出特定的数据。下面是两种基本的数据筛选方法:

2.1 利用条件筛选

条件筛选可以用于根据某些条件来提取数据。比如下面的例子是根据分数筛选出所有分数大于等于90的学生:

df_filtered = df[df['Score'] >= 90]
print(df_filtered)

输出:

   Name  Age Gender  Score
2  Mike   35      M     90
4  Mary   27      F     95

注意上面的筛选条件df['Score'] >= 90,使用了DataFrame的列索引方式,即df['Score']表示取出Score这一列的数据,然后通过>= 90的筛选条件,获得分数大于等于90分的数据。

2.2 利用多条件筛选

如果我们要同时筛选多个条件,比如同时根据分数和性别来筛选数据,可以同样地使用DataFrame的列索引方式,写出多个筛选条件之间用逻辑运算符联接的表达式。比如下面的例子则是筛选出了所有分数大于等于80且为女性的学生:

df_filtered = df[(df['Score'] >= 80) & (df['Gender'] == 'F')]
print(df_filtered)

输出:

   Name  Age Gender  Score
3   Amy   25      F     85
4  Mary   27      F     95

注意上面的多条件筛选表达式(df['Score'] >= 80) & (df['Gender'] == 'F'),使用了括号将每个条件括起来,中间用逻辑与符号”&”联接。这里的==表示等于符号,因为比较的是字符串类型的数据,所以要用引号括起来。

结论

以上就是利用pandas来实现DataFrame的数据筛选的方法,另外还有很多高级的筛选方法,比如根据索引、根据数据类型、根据文本匹配等,有兴趣可以进一步学习。