欢迎访问宙启技术站
智能推送

如何使用Python的query()函数实现数据统计和分析

发布时间:2023-12-15 11:05:17

query() 函数是 Pandas 库中的一个重要函数,用于在 DataFrame 中进行数据统计和分析。它可以根据特定的条件从数据集中选择想要的数据,然后进行统计分析。

首先,你需要导入 Pandas 库:

import pandas as pd

然后,你需要创建一个 DataFrame 对象,可以使用字典、列表等多种方式创建数据集,这里以字典为例:

data = {
    'Name': ['Tom', 'Nick', 'John', 'Bob', 'Mike'],
    'Age': [25, 30, 35, 40, 45],
    'Salary': [5000, 6000, 7000, 8000, 9000]
}

df = pd.DataFrame(data)

这样就创建了一个包含姓名、年龄和薪水的数据集。接下来,就可以使用 query() 函数进行数据统计和分析了。

1. 使用 query() 函数选择数据

query() 函数可以通过传入一个字符串条件来选择符合条件的数据。条件可以包含各种运算符(如大于、小于、等于、不等于等)、逻辑运算符(如与、或、非等)和函数。例如,选择年龄大于等于 35 岁的数据:

selected_data = df.query('Age >= 35')
print(selected_data)

输出结果为:

   Name  Age  Salary
2  John   35    7000
3   Bob   40    8000
4  Mike   45    9000

2. 使用 query() 函数进行数据分析

query() 函数还可以对选择的数据进行各种统计分析操作,如计算平均值、最大值、最小值等。例如,计算年龄大于等于 35 岁的员工薪水的平均值:

average_salary = df.query('Age >= 35')['Salary'].mean()
print(average_salary)

输出结果为:

8000.0

3. 使用 query() 函数进行多条件筛选

query() 函数还可以通过传入多个条件进行筛选,可以使用逻辑运算符(如与、或、非等)连接多个条件。例如,选择年龄在 30 到 40 岁之间,并且薪水大于 6000 的员工:

selected_data = df.query('Age >= 30 and Age <= 40 and Salary > 6000')
print(selected_data)

输出结果为:

   Name  Age  Salary
2  John   35    7000
3   Bob   40    8000

4. 使用 query() 函数进行模糊查询

query() 函数还可以进行模糊查询,使用 "str.contains()" 方法实现。例如,选择姓名中包含 "Nic" 的员工:

selected_data = df.query('Name.str.contains("Nic")', engine='python')
print(selected_data)

输出结果为:

   Name  Age  Salary
1  Nick   30    6000

query() 函数的使用非常灵活,可以根据实际需求进行各种统计分析操作。除了上述例子中的常用功能,还可以使用各种函数(如 len()、sum()、count())对选择的数据进行统计分析。需要注意的是,在传入字符串条件时,可以使用特殊的字符(如逗号、括号等)来进行复杂的数据筛选和计算操作,提高代码的表达力和灵活性。

以上就是使用 Python 的 query() 函数实现数据统计和分析的方法和例子。通过灵活运用 query() 函数,可以更加高效地进行数据处理和分析,提高工作效率。