是否可以在 Dataframe 中使用 Pandas Overlap?

2023-12-02

Python 3.7, 熊猫25

我有一个 Pandas Dataframe,其中包含开始日期和结束日期的列。我正在寻找与我的变量范围重叠的范围。在不冗长并用 and/or 组成一系列大于/小于语句来过滤出我需要的行的情况下,我想使用某种间隔“重叠”。 Pandas 似乎有这个功能:

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Interval.overlaps.html

以下测试有效:

range1 = pd.Interval(pd.Timestamp('2017-01-01 00:00:00'),pd.Timestamp('2018-01-01 00:00:00'),closed='both')
range2 = pd.Interval(pd.Timestamp('2016-01-01 00:00:00'),pd.Timestamp('2017-01-01 00:00:00'),closed='both')
range1.overlaps(range2)

但是,当我将其应用到数据框列时,它却没有。我不确定我的语法是否有问题,或者这是否根本不能应用于数据帧。以下是我尝试过的一些方法(并收到了一系列错误):

start_range = '2017-07-01 00:00:00'
end_current = '2019-07-01 00:00:00'
reporttest_range = pd.Interval(pd.Timestamp(start_range),pd.Timestamp(end_current),closed='both')
reporttest_filter = my_dataframe[my_dataframe['startdate']['enddate'].overlaps(reporttest_range)]
reporttest_filter = my_dataframe[my_dataframe['startdate','enddate'].overlaps(reporttest_range)]
reporttest_filter = my_dataframe[(my_dataframe['startdate','enddate']).overlaps(reporttest_range)]
reporttest_filter = my_dataframe.filter(['startdate','enddate']).overlaps(reporttest_range)
reporttest_filter = my_dataframe.filter['startdate','enddate'].overlaps(reporttest_range)
reporttest_filter = my_dataframe.filter(['startdate','enddate']).overlaps(reporttest_range)
print(reporttest_filter)

有人可以指出我一种有效的方法来实现这一目标吗?

根据要求,数据帧输出如下所示:

      record    startdate    enddate
0         99    2017-07-01 2018-06-30
1        280    2018-08-01 2021-07-31
2        100    2017-07-01 2018-06-30
3        281    2017-07-01 2018-06-30

你需要创建IntervalIndex from df.startdate and df.enddate并使用overlaps反对reporttest_range。您的示例返回全部 true,因此我添加行False case.

Sample df:   

   record  startdate    enddate
0    9931 2017-07-01 2018-06-30
1   28075 2018-08-01 2021-07-31
2   10042 2017-07-01 2018-06-30
3   28108 2017-07-01 2018-06-30
4   28109 2016-07-01 2016-12-30
5   28111 2017-07-02 2018-09-30

iix = pd.IntervalIndex.from_arrays(df.startdate, df.enddate, closed='both')
iix.overlaps(reporttest_range)

Out[400]: array([ True,  True,  True,  True, False,  True])

用它来仅选择重叠的行

df[iix.overlaps(reporttest_range)]

Out[401]:
   record  startdate    enddate
0    9931 2017-07-01 2018-06-30
1   28075 2018-08-01 2021-07-31
2   10042 2017-07-01 2018-06-30
3   28108 2017-07-01 2018-06-30
5   28111 2017-07-02 2018-09-30
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以在 Dataframe 中使用 Pandas Overlap? 的相关文章

  • 使用正则表达式检查整个字符串

    我正在尝试检查字符串是否是数字 因此正则表达式 d 似乎不错 然而 由于某种原因 该正则表达式也适合 78 46 92 168 8000 这是我不想要的 一些代码 class Foo rex re compile d def bar sel
  • argparse 更改参数的定义

    我按如下方式设置参数解析器 parser argparse ArgumentParser parser add argument point help enter a point e g 2 3 4 parser parse args po
  • Python 排列(包括子字符串)

    我遇到过这个帖子 如何在Python中生成列表的所有排列 https stackoverflow com questions 104420 how to generate all permutations of a list in pyth
  • 将 pandas 多索引数据帧转换为嵌套字典

    我有一个 pandas 多索引数据框 我试图将其输出为嵌套字典 create the dataset data clump thickness 0 0 274 0 0 1 19 0 1 0 67 0 1 1 12 0 2 0 83 0 2
  • Selenium 上的切换窗口

    我在 Python 中使用 Selenium 和 PhantomJS 我需要打开一个新窗口并控制它 出于测试目的 我这样做 from selenium import webdriver driver webdriver PhantomJS
  • python matplotlib 使用按钮事件添加和删除图形中的文本

    我试图在调用button press event 时将文本添加到鼠标指针位置的图形中 并在调用button release event 时将其删除 我已成功添加文本 但无法将其删除 这是我使用的代码的一部分 def onclick even
  • Buildozer Numpy RuntimeError:工具链损坏:无法链接简单的 C 程序

    用 Python 编写我的第一个 Android 应用程序并使用 Buildozer 对其进行打包 因为稍后在项目中需要使用numpy 所以我尝试打包以下测试代码 import numpy import kivy kivy require
  • 有效地写入 pandas 中的多个相邻列

    使用 numpy ndarray 可以一次写入多个列 而无需先进行复制 只要它们相邻 如果我想写入数组的前三列 我会写 a 0 0 3 1 2 3 this is very fast a is a numpy ndarray 我希望在 pa
  • Tkinter 按钮鼠标右键和左键单击有不同的命令

    我正在用 Python 制作扫雷游戏 并使用 tkinter 库来创建 gui 有没有 绑定到 tkinter 按钮两个命令的方法 一个是右键单击按钮时的命令 另一个是单击左键时的命令 通常 按钮仅设计用于单击 但 tkinter 允许您为
  • 将 Selenium 与 PyCharm CE 结合使用

    我正在尝试将 Selenium 与 PyCharm CE 一起使用 我已经使用 pip install Selenium 安装了 Selenium 并且可以通过终端使用它 但是当我尝试将它与 PyCharm 一起使用时 出现导入错误 Imp
  • 我无法设置顶级标题

    我想为 TopLevel 设置标题 但 TopLevel 显示 Root 的标题 我认为我的下一个脚本与 TkInter 文档中的示例相对应 但给了我不好的结果 你能解释一下 为什么我的设置master title 顶部 in 应用程序顶部
  • 如何在 PyTorch 中对子集使用不同的数据增强

    如何针对不同的情况使用不同的数据增强 转换 Subset在 PyTorch 中吗 例如 train test torch utils data random split dataset 80000 2000 train and test将具
  • Python 用静态图像将 mp3 转换为 mp4

    我有x文件包含一个列表mp3我想转换的文件mp3文件至mp4文件带有static png photo 似乎这里唯一的方法是使用ffmpeg但我不知道如何实现它 我编写了脚本来接受输入mp3文件夹和一个 png photo 然后它将创建新文件
  • 如何更改Python使用的SQLite版本?

    我在 Debian 9 12 上安装了 Python 3 8 和 SQLite 3 16 2 并且需要升级到较新版本的 SQLite 我已经下载并编译了 SQLite 网站上提供的合并 并将其放入 usr bin 所以当我这样做时 sqli
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • django 南迁移,不设置默认值

    我使用 South 来迁移我的 Django 模型 然而 南方有一个令人讨厌的错误 它不会在 Postgres 数据库中设置默认值 例子 created at models DateTimeField default datetime no
  • 了解字典的深度

    假设我们有这个字典 d a 1 b c 了解嵌套的最直接方法是什么depth of it 您需要创建一个递归函数 gt gt gt def depth d if isinstance d dict return 1 max map dept
  • 有没有比 Python 内置 == 运算符更快的方法来测试两个列表是否具有完全相同的元素?

    如果我有两个列表 每个列表有 800 个元素长并填充整数 有没有比使用内置元件更快的方法来比较它们具有完全相同的元件 如果没有 则短路 操作员 a 6 2 3 88 54 486 b 6 2 3 88 54 486 a b gt gt gt
  • 为什么我可以使用 tsql 连接到 Azure MS SQL,但不能使用 pymssql?

    我今天在哪里 TDSVER 7 3 tsql H example database windows net U me D ExampleDB p 1433 P notreallymypassword 这不会 gt gt gt import
  • 如何在Python中显示坐标网格线的变换?

    假设我有常规的笛卡尔坐标系 x y 并且我考虑一个矩形网格区域 D 分成小方块 我想看看域 D 如何在 Python 中的坐标变换 T x y gt u x y v x y 下映射 我正在寻找这样的东西 See here https mat

随机推荐

  • PHP DOM 和单引号

    有没有办法告诉 DOMDocument 对属性使用单引号而不是双引号 不 DOMDocument 是一个面向数据的 XML 访问 API 它可以按照自己的意愿序列化文档 没有 gt save 标志http www php net manua
  • 在可移动设备/可移动存储上使用FolderBrowserDialog

    我正在开发一个简单的复制工具来从数码相机复制文件 我已经编写了文件复制代码 一切都连接良好 我遇到的问题似乎与FolderBrowserDialog 有关 在Vista中 我还没有检查XP 我可以浏览到相机上的目录 但是 FolderBro
  • 使用 JPA 或数据库内部进行级联删除/更新?

    性能是关键 是在数据库内部级联删除 更新更好还是让 Hibernate JPA 来处理它更好 如果级联位于 DBMS 内部 这会影响查询数据的能力吗 如果这很重要的话 我正在使用 HSQLDB 在级联更新的情况下 如果数据库中有外键约束 则
  • 我可以从 dacpac 生成部署脚本吗

    我有一个 dacpac 文件 该文件由 MSBuild 调用并发布到 QA 数据库以进行测试 此发布失败 我从他们那里得到的错误是一条通用的 发生错误 消息 我希望能够从 dacpac 生成部署脚本并浏览它以查看问题发生的位置 并希望教他们
  • 在 Visual Studio 中启用 SSL - 不提示安装证书

    我正在尝试按照这篇文章中的说明进行操作 http www codeproject com Tips 766918 Visual Studio Use HTTPS SSL On Web Application Pro 系统没有提示我消息 您想
  • JavaScript 日期比较不等于[重复]

    这个问题在这里已经有答案了 我尝试寻找有类似问题的人 但没有找到任何东西 我在 JavaScript 中有两个日期 都设置为相同的值 相等测试在 上失败 但 gt 和 下面是我正在使用的代码 var startDate new Date 2
  • 安全性:有没有办法使用对 char[] 的直接引用而不是字符串?

    前言 这可能是一个巨大的菜鸟错误 我团队中的所有开发人员都对 Java 101 有点模糊 所以如果我们不担心任何事情 请告诉我 具体来说 担心在 permgen 中缓存的字符串文字 我们有一个简单的登录页面 基本上如下所示 支持 Bean
  • Hive 1.2 Metastore 服务在配置为 S3 存储而不是 HDFS 后无法启动

    我有一个处于独立模式的 Apache Spark Cluster 2 2 0 到目前为止 我们正在使用 HDFS 来存储 parquet 文件 我正在使用 Apache Hive 1 2 的 Hive Metastore 服务通过 Thri
  • 如何将 x-y 位置转换为等距平铺的平铺 x-y?

    我可以根据公式绘制我的地图绘制等距游戏世界 但是我怎样才能根据它在地图图层 div 上的位置找到一个图块的 x y 呢 为了清楚起见 我的图块的左侧样式是 1036px 顶部样式是 865px 根据这些CSS属性如何根据地图找到图块的x和y
  • m 正则表达式模式修饰符

    subject SIverygood n SIverygood n pattern SI m preg match all pattern subject matches2 PREG OFFSET CAPTURE var dump matc
  • jQuery .get 用于非 https,在用户脚本中

    我在我的网站上制作了一个脚本来访问不同网站上的表格 但是 另一个网站是 HTTP 因此 chrome 告诉我 此请求已被阻止 内容必须通过 HTTPS 提供 get http www kanjidamage com kanji null f
  • 在名称为“appServlet”的 DispatcherServlet 中未找到带有 URI [/myappname/] 的 HTTP 请求的映射

    我有错误No mapping found for HTTP request with URI myappname in DispatcherServlet with name appServlet 当我在 JBoss 上开始我的项目时 这是
  • com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障

    我正在努力让我的数据库与我的 Java 程序对话 有人可以给我一个使用 JDBC 的快速但肮脏的示例程序吗 我遇到了一个相当惊人的错误 Exception in thread main com mysql jdbc exceptions j
  • 使用 .htaccess 隐藏扩展名和变量

    如何隐藏文件的扩展名和GET变量通过 htaccess在一行 此代码不起作用 RewriteRule 1 php L RewriteRule file 0 9 php some directory files php id 1 L Exam
  • ReactJs 产品详细信息页面

    我有一个API与工作Bearer token 我列出了所有三种产品API在产品页面上 我希望能够在我创建的产品项目详细信息页面上单击任何项 目并显示信息 我已成功创建路线 并且可以单击并打开相关页面 现在的问题是使用以下命令在项目详细信息页
  • iOS 和 Android 上的 LLVM 版本

    如何找出 Android NDK 和 Apple Xcode 使用的是哪个 LLVM 版本 检查clang version从 Android NDK r15c 我得到 Android clang version 5 0 300080 bas
  • SQL Server 中多对多层次结构的数据结构

    我的系统中已有以下数据结构 ItemDetails ID Name 1 XXX 2 YYY 3 ZZZ 4 TTT 5 UUU 6 WWW 层次结构位于单独的表中 具有多对多关系 ItemHierarchy ParentCode Child
  • 了解 Android 中的 AudioTrack 断言

    在我的 Android 应用程序中 我使用 AudioTrack API 输出从 RFCOMM 蓝牙连接接收到的音频字节 音频按预期播放并且非常清晰 但是 由于 AudioTrackShared cpp 中的以下断言 应用程序偶尔会崩溃 s
  • 返回一个字符串拆分为 n 个字符串时所有可能的组合

    我在 stackoverflow 上搜索了相关内容 但找不到方法 可能涉及到itertool 我想找到分割字符串的所有可能结果 比如字符串thisisateststring into n 长度相等或不等 无关紧要 两者都应该包含 字符串 例
  • 是否可以在 Dataframe 中使用 Pandas Overlap?

    Python 3 7 熊猫25 我有一个 Pandas Dataframe 其中包含开始日期和结束日期的列 我正在寻找与我的变量范围重叠的范围 在不冗长并用 and or 组成一系列大于 小于语句来过滤出我需要的行的情况下 我想使用某种间隔