Pandas中如何在查询中使用列表

Pandas中如何在查询中使用列表

在本文中,我们将介绍如何使用Pandas中的列表在DataFrame中进行查询。

阅读更多:Pandas 教程

Pandas数据查询

Pandas是Python的一个库,它提供了强大的数据结构和数据分析工具。其中经常用到的数据结构是DataFrame和Series。

其中,DataFrame是二维数组形式的数据结构,它由多列数据组成。而Series是一个一维数组形式的数据结构,其中只有一个数据列,并且有一个轴标签数组axis labels。

在Pandas中,我们可以通过比较运算符(、>、<)等在DataFrame或Series中进行数据筛选和查询。假如我们有以下数据集合:

import pandas as pd 

data = {'Name': ['Peter', 'John', 'Kate', 'Paul', 'Josh'], 
        'Age': [25, 33, 21, 28, 24], 
        'Country': ['USA', 'Canada', 'UK', 'USA', 'Australia'], 
        'Profession': ['Doctor', 'Teacher', 'Engineer', 'Doctor', 'Nurse']} 

df = pd.DataFrame(data)  

print(df)
Python

打印结果如下:

    Name  Age    Country Profession
0  Peter   25        USA     Doctor
1   John   33     Canada    Teacher
2   Kate   21         UK   Engineer
3   Paul   28        USA     Doctor
4   Josh   24  Australia      Nurse
Python

我们可以通过以下代码进行查询年龄大于25岁的数据:

query = df[df.Age > 25]  

print(query)
Python

打印结果如下:

   Name  Age Country Profession
1  John   33  Canada    Teacher
3  Paul   28     USA     Doctor
Python

以上就是使用运算符进行数据查询的方法,但如果要查询多个条件,则需要使用&(和)和|(或)等逻辑运算符进行连接。

下面我们将演示如何使用列表来进行数据筛选和查询,以更加便捷地获取所需数据。

Pandas列表查询

有时候,我们需要查询给定列表中的所有数据,而不需要一个一个地进行比较操作。此时,使用列表可以更加高效地完成查询操作。

以下是如何使用列表来进行数据筛选和查询:

selected_country = ['USA', 'Canada'] 
# 查询居住在列表中国家的人员信息
query = df[df.Country.isin(selected_country)]

print(query)
Python

打印结果如下:

    Name  Age Country Profession
0  Peter   25     USA     Doctor
1   John   33  Canada    Teacher
3   Paul   28     USA     Doctor
Python

可以看到,使用isin方法可以查询多个条件,并将其放在一个列表中,更加方便快捷,可以在实际工作中提高效率。

以上代码中,我们使用了isin方法,这个方法会返回一个布尔值的Series,其中True表示在给定列表中,False表示不在列表中。我们将这个Series放入到df中,即可筛选出所有在列表中的数据。

除了isin方法,我们还可以使用query方法进行条件查询,比如:

selected_country = ['USA', 'Canada'] 
# 查询不居住在列表中国家的人员信息
query = df.query('Country not in @selected_country')

print(query)
Python

打印结果如下:

   Name  Age    Country Profession
2  Kate   21         UK   Engineer
4  Josh   24  Australia      Nurse
Python

在上面的代码中,我们使用了@符号,以将selected_country列表传递给query方法。

总结

本文介绍了如何使用Pandas中的列表在DataFrame中进行查询。我们演示了如何使用isin方法和query方法进行数据筛选和查询,以及在处理大量数据时,这种方法如何提高工作效率。希望对大家有所帮助。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册