0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python工具pandas筛选数据的15个常用技巧

数据分析与开发 来源:数据分析与开发 作者:数据分析与开发 2021-03-30 10:44 次阅读

pandas是Python数据分析必备工具,它有强大的数据清洗能力,往往能用非常少的代码实现较复杂的数据处理

今天,总结了pandas筛选数据的15个常用技巧,主要包括5个知识点:

比较运算:==、《、》、》=、《=、!=

范围运算:between(left,right)

字符筛选:str.contains(pattern或字符串,na=False)

逻辑运算:&(与)、|(或)、not(取反)

比较函数:eq, ne, le, lt, ge, gt(相当于==,=!,《=,《,》=,》)

apply和isin函数

”下面以超市运营数据为例,给大家逐个讲解首先读取数据:

import pandas as pd

data=pd.read_excel(‘超市运营数据模板.xlsx’)

data

8820b96c-8e33-11eb-8b86-12bb97331649.png

先看一下各列的数据类型:

data.dtypes

商品ID int64

类别ID int64

门店编号 object

单价 float64

销量 float64

订单ID object

日期 datetime64[ns]

时间 object

dtype: object

下面以实际应用场景为例开始讲解:

1.筛选门店编号为‘CDXL’的运营数据①第一种方法,用比较运算符‘==’:

data[data.门店编号==‘CDXL’]

8bb1a37a-8e33-11eb-8b86-12bb97331649.png

②第二种方法,用比较函数‘eq’:

data[data[‘门店编号’].eq(‘CDXL’)]

8d57158e-8e33-11eb-8b86-12bb97331649.png

2.筛选单价小于等于10元的运营数据③第一种方法,用比较运算符‘《=’:

data[data.单价《=10]

90a6426e-8e33-11eb-8b86-12bb97331649.png

④第二种方法,用比较函数‘le’:

data[data[‘单价’].le(10)]

928adb4e-8e33-11eb-8b86-12bb97331649.png

3.筛选销量大于2000的运营数据⑤第一种方法,用比较运算符‘》=’:

data[data.销量》2]

92f569a0-8e33-11eb-8b86-12bb97331649.png

⑥第二种方法,用比较函数‘ge’:

data[data[‘销量’].ge(2)]

92f569a0-8e33-11eb-8b86-12bb97331649.png

4.筛选除门店‘CDXL’外的运营数据⑦第一种方法,用比较运算符‘!=’:

data[data.门店编号!=‘CDXL’]

9345c238-8e33-11eb-8b86-12bb97331649.png

⑧第二种方法,用比较函数‘ne’:

data[data[‘门店编号’].ne(‘CDXL’)]

9397ac38-8e33-11eb-8b86-12bb97331649.png

5.筛选2020年5月的运营数据首先将日期格式化:

data[‘日期’]=data[“日期”].values.astype(‘datetime64’) #如果已为日期格式则此步骤可省略

data[‘日期’]

import datetime

s_date = datetime.datetime.strptime(‘2020-04-30’, ‘%Y-%m-%d’).date() #起始日期

e_date = datetime.datetime.strptime(‘2020-06-01’, ‘%Y-%m-%d’).date() #结束日期

⑨第一种方法,用逻辑运算符号‘》’ ‘《’和‘&’:

Pandasdatetime64[ns]不能直接与datetime.date相比,需要用pd.Timestamp进行转化

data[(data.日期》pd.Timestamp(s_date))&(data.日期《pd.Timestamp(e_date))]

93dc75ca-8e33-11eb-8b86-12bb97331649.png

⑩第二种,用比较函数‘gt’‘lt’和‘&’:

data[(data[‘日期’].lt(pd.Timestamp(e_date)))&(data[‘日期’].gt(pd.Timestamp(s_date)))]

94be8c4e-8e33-11eb-8b86-12bb97331649.png

⑪第三种,用apply函数实现:

id_a=data.日期.apply(lambda x: x.year ==2020 and x.month==5)

data[id_a]

950240e2-8e33-11eb-8b86-12bb97331649.png

⑫第四种,用between函数实现:

id_b=data.日期.between(pd.Timestamp(s_date),pd.Timestamp(e_date))

data[id_b]

953ad6f0-8e33-11eb-8b86-12bb97331649.png

6.筛选“类别ID”包含‘000’的数据⑬第一种,用contains函数:

data[‘类别ID’]=data[‘类别ID’].values.astype(‘str’) #将该列转换为字符数据类型

id_c=data.类别ID.str.contains(‘000’,na=False)

data[id_c]

95c1ec76-8e33-11eb-8b86-12bb97331649.png

⑭第二种,用isin函数:

id_i=data.类别ID.isin([‘000’]) #接受一个列表

data[id_i]

很遗憾,isin函数搞不定,因为它只能判断该列中元素是否在列表中

7.筛选商品ID以“301”开头的运营数据⑮需要用contains函数结合正则表达式使用:

data[‘商品ID’]=data[‘商品ID’].values.astype(‘str’) #将该列转换为字符数据类型

id_c2=data.商品ID.str.contains(‘301d{5}’,na=False)

data[id_c2]

95c1ec76-8e33-11eb-8b86-12bb97331649.png

为了方便大家学习,我已经将本文数据及代码打包好,请关注 数据分析与开发 公众号在后台回复关键字:筛选数据 获取。

原文标题:一次性总结了pandas提取数据的15种方法,统统只需1行代码!

文章出处:【微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据分析
    +关注

    关注

    2

    文章

    1449

    浏览量

    34056
  • python
    +关注

    关注

    56

    文章

    4796

    浏览量

    84664

原文标题:一次性总结了pandas提取数据的15种方法,统统只需1行代码!

文章出处:【微信号:DBDevs,微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何进行元器件筛选

    电子元件的核心作用在电子设备中,电子元件扮演着基础而关键的角色,它们是电子通信、数据处理和自动化控制等技术领域的基石。筛选的必要性为了确保电子元件在其整个使用寿命内都能稳定工作,避免因元件本身的缺陷
    的头像 发表于 12-19 12:37 108次阅读
    如何进行元器件<b class='flag-5'>筛选</b>?

    Kaggle知识点:使用大模型进行特征筛选

    数据科学数据挖掘的核心是是对海量数据进行有效的筛选和分析。传统上数据筛选依赖于
    的头像 发表于 12-03 01:06 1242次阅读
    Kaggle知识点:使用大模型进行特征<b class='flag-5'>筛选</b>

    如何使用Python构建LSTM神经网络模型

    numpy tensorflow 2. 准备数据 LSTM模型通常用于序列数据,比如时间序列预测或文本生成。这里我们以一简单的时间序列预测为例。假
    的头像 发表于 11-13 10:10 350次阅读

    Python常用函数大全

    Python 世界里,有一些宝藏函数和模块,它们可以让你编程更轻松、代码更高效。这篇文章将带你一一认识这些神器,让你的开发生活瞬间轻松不少!
    的头像 发表于 10-27 17:20 244次阅读

    使用Python进行Ping测试

    在网络工程中,Ping测试是一种常用的网络诊断工具,用于检查网络连接的可达性和响应时间。Ping测试通过向目标主机发送ICMP(Internet Control Message Protocol
    的头像 发表于 08-12 17:56 500次阅读
    使用<b class='flag-5'>Python</b>进行Ping测试

    数据分析的工具有哪些

    数据分析是一涉及收集、处理、分析和解释数据以得出有意义见解的过程。在这个过程中,使用正确的工具至关重要。以下是一些主要的数据分析
    的头像 发表于 07-05 14:54 856次阅读

    深度学习常用Python

    深度学习常用Python库,包括核心库、可视化工具、深度学习框架、自然语言处理库以及数据抓取库等,并详细分析它们的功能和优势。
    的头像 发表于 07-03 16:04 645次阅读

    常见的数据采集工具的介绍

    Scraping) 网络爬虫是一种自动化的程序,用于从互联网上提取信息。它们可以访问网页,解析HTML内容,并从中提取所需的数据。 Scrapy : 一快速且强大的Python框架,用于抓取网站
    的头像 发表于 07-01 14:51 797次阅读

    请问如何修改工程对应的IDF工具的位置?

    :\\Espressif\\frameworks\\esp-idf-v4.4.2目录下寻找工具。请问该如何修改可以去新的目录下寻找新的工具? Code: Select all C
    发表于 06-06 08:17

    Python怎么读取STM32串口数据

    我用Python写的一串口读取代码 :import serial import timeser=serial.Serial(\'com5\',9600,timeout=2)s
    发表于 04-24 07:30

    mapgis属性筛选表达式

    MapGIS是一种广泛应用于地理信息系统(GIS)领域的软件平台。它提供了多种功能和工具,用于处理和分析地理数据。属性筛选是MapGIS中一项重要的功能,它允许用户根据特定的属性条件来筛选
    的头像 发表于 02-25 10:58 1635次阅读

    如何使用linux下gdb来调试python程序

    如何使用linux下gdb来调试python程序  在Linux下,可以使用GDB(GNU调试器)来调试Python程序。GDB是一强大的调试工具,可以帮助开发者诊断和修复程序中的错
    的头像 发表于 01-31 10:41 2618次阅读

    eda工具软件有哪些 EDA工具有什么优势

    和预测提供基础。在进行EDA过程中,使用合适的工具软件可以显著提升效率和准确性。本文将介绍几种常见的EDA工具软件。 Python和其相关的库 Python是一种广泛使用的编程语言,拥
    的头像 发表于 01-30 13:57 1157次阅读

    小米电脑数据恢复的常用方法、工具和步骤

    在现代数字化时代,电脑已成为我们生活和工作中必不可少的工具之一。然而,有时我们可能会遇到数据丢失的情况,这可能是因为误删、磁盘故障、操作系统崩溃等原因导致。本文将详细介绍小米电脑数据恢复的常用
    的头像 发表于 01-25 11:10 2266次阅读

    加速Python for循环的12种方法

    Python内建的一常用功能是timeit模块。下面几节中我们将使用它来度量循环的当前性能和改进后的性能。
    的头像 发表于 01-04 17:33 1941次阅读
    加速<b class='flag-5'>Python</b> for循环的12种方法