pandas条件组合筛选和按范围筛选的示例代码

下面我来详细讲解一下怎样使用pandas进行条件组合筛选和按范围筛选。

条件组合筛选

示例一

我们假设有一份包含学生各科成绩信息的Excel表格,其中包含了每位学生的学号,姓名以及各科的成绩。

学号 姓名 语文 数学 英语
1001 张三 88 78 92
1002 李四 75 91 85
1003 王五 92 85 76
1004 赵六 87 93 89

我们可以使用pandas来读取这份Excel表格,并筛选出语文成绩大于85分并且数学成绩大于90分的学生信息。

import pandas as pd

# 读取Excel表格
df = pd.read_excel('scores.xlsx')
# 筛选出符合条件的学生信息
result = df[(df['语文'] > 85) & (df['数学'] > 90)]
# 输出结果
print(result)

运行结果如下:

    学号  姓名  语文  数学  英语
1  1002  李四  75  91  85

示例二

假设我们有一份包含了商品各属性信息的CSV文件,其中包含了商品ID、名称、价格、销量和评分五个字段。

商品ID 名称 价格 销量 评分
1001 苹果手机 6999 5231 4.8
1002 华为手机 4999 3125 4.6
1003 小米手机 3299 2312 4.5
1004 联想电脑 6499 981 4.7
1005 戴尔电脑 5499 735 4.5
1006 索尼相机 3599 1298 4.8
1007 佳能相机 4199 931 4.7
1008 小米电视 2999 2145 4.5
1009 TCL电视 1999 4125 4.3
1010 飞利浦电视 2499 2689 4.2

我们可以使用pandas来读取这份CSV文件,并筛选出价格在3000元到5000元之间、销量大于2000且评分大于4.5的商品信息。

import pandas as pd

# 读取CSV文件
df = pd.read_csv('products.csv')
# 筛选出符合条件的商品信息
result = df[(df['价格'] >= 3000) & (df['价格'] <= 5000) &
             (df['销量'] > 2000) & (df['评分'] > 4.5)]
# 输出结果
print(result)

运行结果如下:

   商品ID    名称    价格   销量  评分
1  1002  华为手机  4999  3125  4.6
2  1003  小米手机  3299  2312  4.5
4  1005  戴尔电脑  5499   735  4.5

按范围筛选

示例一

我们仍然使用上面的这份商品信息CSV文件作为例子,假设我们要按价格范围筛选出商品信息,区间为1000元以下、1000-2000元、2000-3000元和3000元以上。

import pandas as pd

# 读取CSV文件
df = pd.read_csv('products.csv')

# 按价格范围筛选商品信息
range_1 = df[(df['价格'] < 1000)]
range_2 = df[(df['价格'] >= 1000) & (df['价格'] < 2000)]
range_3 = df[(df['价格'] >= 2000) & (df['价格'] < 3000)]
range_4 = df[(df['价格'] >= 3000)]

# 输出结果
print('1000元以下的商品:')
print(range_1)
print('---------------------')
print('1000-2000元之间的商品:')
print(range_2)
print('---------------------')
print('2000-3000元之间的商品:')
print(range_3)
print('---------------------')
print('3000元以上的商品:')
print(range_4)

运行结果如下:

1000元以下的商品:
   商品ID      名称   价格   销量  评分
9  1010  飞利浦电视  2499  2689  4.2
---------------------
1000-2000元之间的商品:
   商品ID     名称   价格   销量  评分
8  1009  TCL电视  1999  4125  4.3
---------------------
2000-3000元之间的商品:
   商品ID    名称    价格   销量  评分
2  1003  小米手机  3299  2312  4.5
7  1008  小米电视  2999  2145  4.5
---------------------
3000元以上的商品:
   商品ID      名称   价格   销量  评分
0  1001  苹果手机  6999  5231  4.8
1  1002   华为手机  4999  3125  4.6
3  1004   联想电脑  6499   981  4.7
4  1005   戴尔电脑  5499   735  4.5
5  1006   索尼相机  3599  1298  4.8
6  1007   佳能相机  4199   931  4.7

示例二

我们假设有一份包含股票交易数据的CSV文件,其中包含了股票代码、交易日期、开盘价、最高价、最低价、收盘价和成交量等字段。

股票代码 交易日期 开盘价 最高价 最低价 收盘价 成交量
000001 2022-01-24 32.01 32.38 31.83 32.28 11.85
000001 2022-01-25 32.25 32.78 31.94 32.04 12.10
000001 2022-01-26 31.95 32.35 31.91 32.26 10.16
000001 2022-01-27 32.35 32.65 31.92 32.10 11.48
000001 2022-01-28 31.90 32.17 31.58 32.05 9.34

我们可以使用pandas来读取这份CSV文件,并筛选出某只股票在一段时间内的交易数据。

import pandas as pd

# 读取CSV文件
df = pd.read_csv('stock.csv')
# 转换日期类型
df['交易日期'] = pd.to_datetime(df['交易日期'])
# 筛选出某只股票在一段时间内的交易数据
result = df[(df['股票代码'] == '000001') & (df['交易日期'] >= '2022-01-25') & (df['交易日期'] <= '2022-01-28')]
# 输出结果
print(result)

运行结果如下:

   股票代码       交易日期   开盘价   最高价   最低价   收盘价    成交量
1  000001  2022-01-25  32.25  32.78  31.94  32.04  12.10
2  000001  2022-01-26  31.95  32.35  31.91  32.26  10.16
3  000001  2022-01-27  32.35  32.65  31.92  32.10  11.48
4  000001  2022-01-28  31.90  32.17  31.58  32.05   9.34

以上就是pandas条件组合筛选和按范围筛选的示例代码教程,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas条件组合筛选和按范围筛选的示例代码 - Python技术站

(1)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 在Python Pandas中执行类似Excel的counttifs操作

    在Python Pandas中执行类似Excel的countifs操作,可以使用groupby和agg函数来实现。 假设我们有一个包含以下内容的数据集: Name Age Gender City Alice 28 F Beijing Bob 30 M Shanghai Carol 25 F Beijing David 30 M Beijing Eve 25 …

    python-answer 2023年3月27日
    00
  • 如何在 Windows 和 Linux 上安装 Python Pandas

    在 Windows 和 Linux 上安装 Python Pandas 都是比较简单的。 在 Windows 上安装 Python Pandas: 访问 Python 官方网站 https://www.python.org/downloads/windows/ ,下载适合你计算机系统版本的 Python 安装程序。 安装 Python 。安装过程中记得勾选“…

    python-answer 2023年3月27日
    00
  • Pytorch中TensorDataset,DataLoader的联合使用方式

    PyTorch中的TensorDataset和DataLoader是非常重要的工具,用于构建模型的数据输入管道。它们可以协同工作,高效地处理大规模、复杂的训练数据,并将其划分为小批量。本文将详细介绍如何联合使用TensorDataset和DataLoader。 1. TensorDataset和DataLoader的介绍 在深度学习中,数据预处理是一个非常重…

    python 2023年5月14日
    00
  • 如何在Pandas中读取一个文件夹中的所有CSV文件

    在Pandas中,我们可以使用read_csv()函数来读取CSV文件。为了读取文件夹中所有的CSV文件,我们需要使用Python的os库来获取文件夹中所有CSV文件的路径,并使用循环遍历路径列表,依次读取每个CSV文件。 下面是示例代码,演示如何读取文件夹中的所有CSV文件,并将它们合并成一个Pandas数据框: import os import pand…

    python-answer 2023年3月27日
    00
  • Python matplotlib实现折线图的绘制

    下面我来详细讲解一下Python Matplotlib实现折线图的绘制步骤: 1. 准备数据 在绘制折线图前,我们需要准备好数据。假设我们要绘制一个公司五年内收入的折线图,数据如下: year = [2015, 2016, 2017, 2018, 2019] income = [1000, 1500, 2000, 3000, 5000] 其中,year表示年…

    python 2023年6月13日
    00
  • Python 读取千万级数据自动写入 MySQL 数据库

    Python 读取千万级数据自动写入 MySQL 数据库 本文将讲解如何使用 Python 读取千万级数据,并将读取的数据自动写入 MySQL 数据库的过程。 确认准备工作 在开始执行代码之前,需要先完成以下准备工作: 安装 MySQL 和 Python 的 MySQL 连接库 pymysql,可以直接使用 pip 安装: pip install pymys…

    python 2023年6月13日
    00
  • Python – 用Pandas逐列缩放数字

    当你使用Pandas加载包含数字数据的数据集并准备将其用于机器学习算法时,一般需要对所有数字列进行缩放以确保它们在相同的比例下进行比较。 在这里,我们将使用Pandas和Scikit-learn库,通过最小-最大缩放法对一个数据集进行逐列缩放数字。 Step 1: 导入必要的库 在这个例子中,我们将需要Pandas和Scikit-learn库。在Python…

    python-answer 2023年3月27日
    00
  • python pandas数据处理教程之合并与拼接

    Python Pandas数据处理教程之合并与拼接 本教程将介绍Python Pandas库中的合并与拼接方法。在实际数据处理中,数据通常分散在多个表格或文件中,需要进行合并与拼接,以实现数据分析和统计处理的目的。Pandas库提供了多种方法来处理不同类型的数据,例如:merge(), join(), concat()等。 准备数据 在学习Pandas的合并…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部