首页 > 编程语言 >「Python实用秘技15」pandas中基于范围条件进行表连接

「Python实用秘技15」pandas中基于范围条件进行表连接

时间:2023-07-08 16:45:01浏览次数:43  
标签:right 15 Python demo 秘技 id pandas 连接 left

本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills

  这是我的系列文章「Python实用秘技」的第15期,本系列立足于笔者日常工作中使用Python积累的心得体会,每一期为大家带来一个几分钟内就可学会的简单小技巧。

  作为系列第15期,我们即将学习的是:在pandas中基于范围条件进行表连接。

  表连接是我们日常开展数据分析过程中很常见的操作,在pandas中基于join()merge()等方法,可以根据左右表连接依赖字段之间对应值是否相等,来实现常规的表连接。

  但在有些情况下,我们可能需要基于一些“特殊”的条件匹配,来完成左右表之间的表连接操作,譬如对于下面的示例数据框demo_leftdemo_right

  假如我们需要基于demo_leftleft_id等于demo_rightright_id,且demo_leftdatetimedemo_rightdatetime之间相差不超过7天,这样的条件来进行表连接,通常的做法是先根据left_idright_id进行连接,再在初步连接的结果表中基于left_idright_id进行分组筛选运算,过滤掉时间差大于7天的记录:

  而除了上面的方式以外,我们还可以基于之前的文章中给大家介绍过的pandas的功能拓展库pyjanitor中的条件连接方法,直接基于范围比较进行连接,且该方式还支持numba加速运算:

  更多有关pyjanitor的使用技巧请移步https://pyjanitor-devs.github.io/pyjanitor/阅读更多。


  本期分享结束,咱们下回见~

标签:right,15,Python,demo,秘技,id,pandas,连接,left
From: https://www.cnblogs.com/feffery/p/17537401.html

相关文章

  • python高级语法笔记
    5.python高级一/demo03_python环境变量路径.pyfromloguruimportloggerimportsyssys.path.append('/Users/toby/Downloads/PythonAdvanced/code/pythonAdvanced5Verify')forpathinsys.path:logger.debug(path)5.python高级一/demo09_xxxsetter和xxxdeleter装饰......
  • python闭包_装饰器
    6.python高级知识-闭包装饰器/demo02_闭包.py#-*-coding:utf-8-*-#第一种方法================================#每次都更具汇率和钱都写一遍#这种方法是太烦了print("第一种方法")rate_usa=0.7money=100#print(rate_usa*money)print("第一种方法结束")#......
  • python创建类似于wx.EVT_BUTTON这样的自定义事件
    想要创建类似于wx.EVT_BUTTON这样的自定义事件,可以通过定义一个继承自wx.PyEvent的子类,并在其中添加自定义的事件类型。下面是一个示例代码:importwx#创建自定义事件类型MY_EVENT_TYPE=wx.NewEventType()EVT_MY_EVENT=wx.PyEventBinder(MY_EVENT_TYPE,1)#创建自定义......
  • Python socket编程(转载)
    Pythonsocket编程https://www.cnblogs.com/linhaifeng/articles/6129246.html套接字工作流程服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接。在这时如果有个客户端初始化一个Socket,然后连接服务器(connect),如果连接成功,......
  • 从零用python flask框架写一个简易的网站
    要用Python写一个网站,你可以使用Python的Web框架来开发。常见的PythonWeb框架包括Django、Flask、Bottle等。以下是一个简单的使用Flask框架开发的示例。1.安装Flask在开始开发之前,你需要安装Flask框架。你可以使用以下命令来安装:pipinstallflask2.创建Flask应用在安装......
  • python: create animated GIF
    #-*-coding:UTF-8-*-#encoding:utf-8#-*-coding:UTF-8-*-#版权所有2023©涂聚文有限公司#许可信息查看:#描述:#Author:geovindu,GeovinDu涂聚文.#IDE:PyCharm2023.1python11#Datetime:2023/7/511:08#User:geovindu#Prod......
  • python中偏导数Partial使用方法
    partial()偏函数partial是Pythonfunctools模块中的一个高级函数。它对普通函数进行封装,主要功能是把一个函数的部分参数给固定住,返回一个新的函数。通俗点说,就是冻结原函数的某些参数。该函数形式如下:functools.partial(func[,*args][,**kwargs])其中func是定义的函数。......
  • 高级编程技巧揭秘!精通Python装饰器,打造灵活强大的代码结构!
    装饰器是Python中一种强大而灵活的编程技巧,它可以用于修改或扩展函数的行为,同时又不需要修改函数的源代码。本文将介绍Python中的装饰器的基本概念、使用方法以及高级技巧,帮助你从入门到精通装饰器的使用。一、基本概念在深入学习装饰器之前,我们首先需要了解一些基本概念。1.1......
  • Python内置函数zip()的用法
    zip()函数介绍:zip()函数是Python的内置函数,将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的list(Python3为了节约内存,zip()返回的是zip对象,需要通过list()手动转换成列表)如果zip()没有可迭代的元素,则它将返回一个空的迭代器,如果每个迭代器......
  • python 下载element源码
    #encoding:utf-8frombs4importBeautifulSoupimportrequests,re,os,socketfromurllibimportrequest#指定要下载的版本element_ui_version="2.15.13"#指定文件要存放的位置element_ui_dir="D:/tmp"save_ui_dir=os.path.join(element_ui_dir,"elem......