Pandas.dataframe.query() - 获取非空行(Pandas 相当于 SQL:“IS NOT NULL”)

作者:编程家 分类: pandas 时间:2025-10-12

使用Pandas库中的DataFrame.query()函数可以方便地从数据集中筛选出非空行,类似于SQL中的“IS NOT NULL”操作。本文将介绍如何使用该函数,并提供一些案例代码进行演示。

什么是DataFrame.query()函数

DataFrame.query()函数是Pandas库中的一个强大的数据筛选工具,它允许我们使用类似于SQL的表达式来查询DataFrame中的数据。其中,通过使用“!=”操作符,我们可以筛选出非空行。

示例代码

为了更好地理解DataFrame.query()函数的使用方法,下面将给出一个示例代码:

python

import pandas as pd

# 创建一个示例DataFrame

data = {'Name': ['Alice', 'Bob', 'Charlie', None, 'Emma'],

'Age': [25, 30, None, 35, 40],

'Gender': ['Female', 'Male', 'Male', None, 'Female']}

df = pd.DataFrame(data)

# 使用query()函数筛选出非空行

df_non_null = df.query('Name != "None" and Age != "None" and Gender != "None"')

# 打印筛选结果

print(df_non_null)

在上述代码中,我们首先创建了一个示例的DataFrame,其中包含了姓名(Name)、年龄(Age)和性别(Gender)三列数据。其中,有些行的某些列存在空值。

然后,我们使用query()函数对DataFrame进行筛选,通过判断每一列是否不等于空值来筛选出非空行。其中,字符串"None"表示空值。

最后,我们打印出筛选结果,即只包含非空行的DataFrame。

使用DataFrame.query()函数筛选非空行的好处

使用DataFrame.query()函数筛选非空行有以下几个好处:

1. 简洁方便:使用DataFrame.query()函数可以将多个筛选条件组合在一起,使代码更加简洁易读。

2. 高效性能:DataFrame.query()函数在底层使用了高效的查询引擎,能够快速处理大规模的数据集。

3. 与SQL语法类似:对于熟悉SQL语法的开发人员来说,使用DataFrame.query()函数可以更容易地迁移和理解代码。

本文介绍了如何使用Pandas库中的DataFrame.query()函数筛选非空行,并提供了一个示例代码进行演示。通过使用该函数,我们可以方便地从数据集中提取出我们感兴趣的非空行,进而进行后续的数据分析和处理。使用DataFrame.query()函数能够帮助我们提高代码的简洁性和执行效率,同时提供了与SQL语法类似的编程体验。