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

    文章

    1352

    浏览量

    33733
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83466

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

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

收藏 人收藏

    评论

    相关推荐

    Python利用pandas读写Excel文件

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

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

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

    python第三方库有哪些

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

    如何实现Pandas的DataFrame转换交互式表格

    Pivottablejs是一个通过IPython widgets集成到Python中的JavaScript库,允许用户直接从DataFrame数据创建交互式和灵活的汇总报表。可以进行高效、清晰的数据分析和表示,帮助将
    的头像 发表于 11-21 16:15 379次阅读
    如何实现<b class='flag-5'>Pandas</b>的DataFrame转换交互式表格

    PandasPython中强大方便的绘图功能

    PandasPython中非常常用数据处理工具,使用起来非常方便。由于建立在NumPy数组结构之上,所以它的很多操作通过NumPy或者Panda
    的头像 发表于 11-03 11:04 253次阅读
    <b class='flag-5'>Pandas</b>:<b class='flag-5'>Python</b>中强大方便的绘图功能

    Anaconda:Python 数据分析与挖掘好帮手

    Python进行数据分析的时候,你会不会烦恼要安装那么多的模块?比如Pandas、Numpy、matplotlib、scipy等等,而当你接手的项目是由不同的Python版本编写的时
    的头像 发表于 11-02 16:00 258次阅读
    Anaconda:<b class='flag-5'>Python</b> <b class='flag-5'>数据</b>分析与挖掘好帮手

    Tablib:一个Python的第三方数据导出模块

    Tablib是一个Python的第三方数据导出模块,它支持以下文件格式的导出: Excel JSON YAML Pandas DataFrames HTML Jira TSV ODS CSV DBF
    的头像 发表于 11-02 15:57 426次阅读
    Tablib:一个<b class='flag-5'>Python</b>的第三方<b class='flag-5'>数据</b>导出模块

    如何利用Pythonpandas来处理json数据

    了如何利用PythonpandasPython的第三方库)来处理json数据,主要内容包含: json数据简介
    的头像 发表于 11-01 10:59 630次阅读
    如何利用<b class='flag-5'>Python</b>和<b class='flag-5'>pandas</b>来处理json<b class='flag-5'>数据</b>

    PandasPython中最好的数据分析工具

    Pandas绝对是Python中最好的数据分析工具,不接受反驳。 本文将展示如何美化 Pandas DataFrame 中的数字,并使用一些
    的头像 发表于 10-31 10:47 212次阅读
    <b class='flag-5'>Pandas</b>:<b class='flag-5'>Python</b>中最好的<b class='flag-5'>数据</b>分析<b class='flag-5'>工具</b>

    如何使用Pythonpandas库读取、写入文件

    在本文中,我将介绍如何使用 Pythonpandas 库读取、写入文件。 1、安装 pip install pandas 2、读取 import pandas as pd df
    的头像 发表于 09-11 17:52 786次阅读

    超强图解Pandas,建议收藏

    Pandas数据挖掘常见的工具,掌握使用过程中的函数是非常重要的。本文将借助可视化的过程,讲解Pandas的各种操作。
    的头像 发表于 08-29 15:15 355次阅读
    超强图解<b class='flag-5'>Pandas</b>,建议收藏

    python数据挖掘与机器学习

    数据挖掘和机器学习工具。 一、数据挖掘 数据挖掘是指从大量数据中自动或半自动地发现潜在的关系、规律或模式的过程。
    的头像 发表于 08-17 16:29 885次阅读

    Python常用的几个命令介绍

    Python是一种功能强大的编程语言,广泛用于数据分析、人工智能和Web开发等领域。在使用Python时,需要掌握一些基本的命令,以便更好地管理和运行代码。下面将介绍Python
    的头像 发表于 06-21 17:12 1851次阅读

    Pandas高级操作汇总

    数据排序、数据的修改、数据迭代以及函数的使用。 01、复杂查询 实际业务需求往往需要按照一定的条件甚至复杂的组合条件来查询数据,接下来为大家介绍如何发挥
    的头像 发表于 06-16 10:27 258次阅读

    Python Pandas如何来管理结构化数据

    Python Pandas是一个为Python编程提供数据操作和分析功能的开源工具包。这个库已经成为数据
    的头像 发表于 05-25 11:22 457次阅读
    <b class='flag-5'>Python</b> <b class='flag-5'>Pandas</b>如何来管理结构化<b class='flag-5'>数据</b>