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

    文章

    1427

    浏览量

    34007
  • python
    +关注

    关注

    56

    文章

    4781

    浏览量

    84443

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

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

收藏 人收藏

    评论

    相关推荐

    数据分析的工具有哪些

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

    深度学习常用Python

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

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

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

    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 1466次阅读

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

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

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

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

    Python利用pandas读写Excel文件

    使用pandas模块读取Excel文件可以更为方便和快捷。pandas可以将Excel文件读取为一DataFrame对象,方便进行数据处理和分析。
    的头像 发表于 12-16 11:22 1265次阅读
    <b class='flag-5'>Python</b>利用<b class='flag-5'>pandas</b>读写Excel文件

    推荐几个不错的Python

    手段和方式(没有谁比设计者更清楚逻辑的功能。专门的软件人员来做当然没问题,但增加沟通成本),那么一套自己常用的软件工具还是非常有必要的。对于这种工具工具,C就显得太笨重了,而
    的头像 发表于 12-16 11:05 558次阅读
    推荐几个不错的<b class='flag-5'>Python</b>库

    Python编程的十大依赖库有哪些

    Pandas库是数据科学家的得力工具,它提供了强大的数据结构和数据分析功能。无论您需要进行数据
    的头像 发表于 12-13 10:29 805次阅读

    phpy:PHP与Python互调用库

    phpy 是识沃团队最新推出的开源项目,目标是为 PHP 引入 Python 生态,来弥补 PHP 生态的空缺和不足。phpy 使得 PHP 可以调用所有 Python 的包。 包括当下非常流行
    的头像 发表于 12-12 10:43 980次阅读
    phpy:PHP与<b class='flag-5'>Python</b>互调用库

    使用pandas进行数据选择和过滤的基本技术和函数

    Python pandas库提供了几种选择和过滤数据的方法,如loc、iloc、[]括号操作符、query、isin、between等等
    的头像 发表于 12-01 10:14 331次阅读
    使用<b class='flag-5'>pandas</b>进行<b class='flag-5'>数据</b>选择和过滤的基本技术和函数

    查看python安装路径的方法

    Python是一种高级编程语言,常用于开发Web应用、数据分析、人工智能等领域。在使用Python进行开发之前,我们需要先安装Python
    的头像 发表于 11-29 14:54 1.1w次阅读

    python第三方库有哪些

    Python) NumPy 是 Python 中最重要且最常用的科学计算库之一。它提供了支持大型、多维数组和矩阵运算的高性能数学函数和计算工具。NumPy 的使用极为广泛,尤其在
    的头像 发表于 11-29 14:31 2089次阅读

    运行Python程序的几种常见方法

    Python是一种高级编程语言,具有简单易学,易于阅读和调试的特点。当你完成了一Python程序之后,你需要运行它以检查程序是否按照预期工作。下面是运行Python程序的几种常见
    的头像 发表于 11-28 15:32 2421次阅读