Pandas GroupBy 日期范围取决于每行

2024-02-13

我想做以下事情:

对于如下所示的数据框:

df = pd.DataFrame({"ID":["A", "A", "C" ,"B", "B"], "date":["06/24/2014","06/25/2014","06/23/2014","07/02/1999","07/02/1999"], "value": ["3","5","1","7","8"] })

我想按日期对所有相隔 2 天内的观察结果进行分组。然后,例如,前 3 行将被分组,后两行将被分组。

到目前为止,我想到过使用类似的东西:

df.groupby(df['date'].map(lambda x: x.month))

进行这种类型的“模糊分组”的一般方法是什么?

谢谢你,


您可以按以下方式对行进行排序date,然后计算连续日期之间的差值。 当差异大于2天时进行测试。取累积和分配所需的组号:

import pandas as pd
df = pd.DataFrame({"ID":["A", "A", "C" ,"B", "B"], "date":["06/24/2014","06/25/2014","06/23/2014","07/02/1999","07/02/1999"], "value": ["3","5","1","7","8"] })
df['date'] = pd.to_datetime(df['date'])
df = df.sort_values(by='date')
df['group'] = (df['date'].diff() > pd.Timedelta(days=2)).cumsum()
print(df)

yields

  ID       date value  group
3  B 1999-07-02     7      0
4  B 1999-07-02     8      0
2  C 2014-06-23     1      1
0  A 2014-06-24     3      1
1  A 2014-06-25     5      1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas GroupBy 日期范围取决于每行 的相关文章

  • 在 Python 中将列表元素作为单独的项目返回

    Stackoverflow 的朋友们大家好 我有一个计算列表的函数 我想单独返回列表的每个元素 如下所示 接收此返回的函数旨在处理未定义数量的参数 def foo my list 1 2 3 4 return 1 2 3 4 列表中的元素数
  • 从Django中具有外键关系的两个表中检索数据? [复制]

    这个问题在这里已经有答案了 This is my models py file from django db import models class Author models Model first name models CharFie
  • Pycharm 在 os.path 连接上出现“未解析的引用”

    将pycharm升级到2018 1 并将python升级到3 6 5后 pycharm报告 未解析的引用 join 最新版本的 pycharm 不会显示以下行的任何警告 from os path import join expanduser
  • Python 3:将字符串转换为变量[重复]

    这个问题在这里已经有答案了 我正在从 txt 文件读取文本 并且需要使用我读取的数据之一作为类实例的变量 class Sports def init self players 0 location name self players pla
  • 使用 Python Oauthlib 通过服务帐户验证 Google API

    我不想使用适用于 Python 的 Google API 客户端库 但仍想使用 Python 访问 Google APIOauthlib https github com idan oauthlib 创建服务帐户后谷歌开发者控制台 http
  • 导入错误:没有名为flask.ext.login的模块

    我的flask login 模块有问题 我已经成功安装了flask login模块 另外 从命令提示符我可以轻松运行此脚本 不会出现错误 Python 2 7 r27 82525 Jul 4 2010 07 43 08 MSC v 1500
  • 无法导入 langchain.agents.load_tools

    我正在尝试使用 LangChain Agents 但无法导入 load tools 版本 langchain 0 0 27 我尝试过这些 from langchain agents import initialize agent from
  • 未知错误:Chrome 无法启动:异常退出

    当我使用 chromedriver 对 Selenium 运行测试时 出现此错误 selenium common exceptions WebDriverException Message unknown error Chrome fail
  • Django 视图中的“请求”是什么

    在 Django 第一个应用程序的 Django 教程中 我们有 from django http import HttpResponse def index request return HttpResponse Hello world
  • Python - 如何确定解析的 XML 元素的层次结构级别?

    我正在尝试使用 Python 解析 XML 文件中具有特定标记的元素并生成输出 excel 文档 该文档将包含元素并保留其层次结构 我的问题是我无法弄清楚每个元素 解析器在其上迭代 的嵌套深度 XML 示例摘录 3 个元素 它们可以任意嵌套
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 找到一个数字所属的一组范围

    我有一个 200k 行的数字范围列表 例如开始位置 停止位置 该列表包括除了非重叠的重叠之外的所有类型的重叠 列表看起来像这样 3 5 10 30 15 25 5 15 25 35 我需要找到给定数字所属的范围 并对 100k 个数字重复该
  • Protobuf 如何编码 oneof 消息结构

    对于这个 python 程序 在编码时运行 protobuf 编码会给出以下输出 0a 10 08 7f8a 0104 08 02 10 0392 0104 08 02 10 03 18 01 我不明白的是为什么8a后面有一个01 为什么9
  • Spider 必须返回 Request、BaseItem、dict 或 None,已“设置”

    我正在尝试从以下位置下载所有产品的图像 我的蜘蛛看起来像 from shopclues items import ImgData import scrapy class multipleImages scrapy Spider name m
  • 带有 LSTM 的 GridSearchCV/RandomizedSearchCV

    我一直在尝试通过 RandomizedSearchCV 调整 LSTM 的超参数 我的代码如下 X train X train reshape X train shape 0 1 X train shape 1 X test X test
  • 如何以正确的方式为独立的Python应用程序制作setup.py?

    我读过几个类似的主题 但还没有成功 我觉得我错过或误解了一些基本的事情 这就是我失败的原因 我有一个用 python 编写的 应用程序 我想在标准 setup py 的帮助下进行部署 由于功能复杂 它由不同的 python 模块组成 但单独
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这
  • 制作一份 Python 文档的 PDF 文件

    Python 官方网站提供 PDF 文档下载 但它们是按章节分隔的 我下载了源代码并构建了 PDF 文档 这些文档也是单独的 PDF 我怎么能够从源代码中的 Makefile 构建一个 PDF 文件 我认为这样阅读起来会更方便 如果连接单独
  • 等待子进程使用 os.system

    我用了很多os system在 for 循环内调用创建后台进程 如何等待所有后台进程结束 os wait告诉我没有子进程 ps 我使用的是Solaris 这是我的代码 usr bin python import subprocess imp
  • pytest找不到模块[重复]

    这个问题在这里已经有答案了 我正在关注pytest 良好实践 https docs pytest org en latest explanation goodpractices html test discovery或者至少我认为我是 但是

随机推荐

  • 从集成到现有 Android 应用程序的 React Native 应用程序中获取结果

    我发现很多文章都在讨论如何将 React Native 集成到现有的 Android 应用程序中 但他们都没有解释如何从 React Native 代码中获取结果 以便直接在 Java Android 源代码中使用它 说明 我有一个反应本机
  • 如何配置 Azure 通知中心以使用 APNS 令牌身份验证模式?

    我正在尝试使用令牌作为身份验证模式在 Azure 通知中心添加 APNS 连接 我已经四处搜寻 但无法在任何地方找到任何指南来完成这项工作 也许有人有一个指南链接 显示如何查找所需的信息 我尝试在 Apple 开发人员控制台中创建一个 AP
  • 如何在Qt中打开ios画廊

    我正在尝试使用 Qt 打开 ios 图库 我发现了很多文章和答案 我测试了它们 但它们在 ios 10 中不起作用 这是两个对我不起作用的链接 链接 1 使用 FileDialog 打开 ios 图库 https stackoverflow
  • 查找表列中的最大值

    我正在 Grails 中创建一个版本控制域类 class VersionControl Date dateCreated Long versionNumber Long getLatestVersionNumber return large
  • Objective-C 中的类别用法

    我看到我继承的一些代码如下所示 interface SomeClass private 这是在SomeClass m 实施文件 有一个附带的头文件 它并不表明该类正在使用类别 是 private 在这种情况下 只是给一个类别起了一个糟糕的名
  • 在 R Studio 的 R 中以 Markdown 形式生成代码块括号的键盘快捷键

    是否有键盘快捷键可以在 Rmarkdown 中生成代码块括号 r on pc in RStudion it s Ctrl Alt i
  • 具有级联 DropDownList 的 Kendo UI 网格

    我的 Razor 布局上有一个 Kendo UI 网格 它从控制器获取数据 在此网格中 我希望有一组 3 个 DropDownList 它们是 ProductGroups Products Services 我希望实现的行为是 当我向网格添
  • 使用 Java 从大整数数组中删除重复项

    您是否知道使用 Java 从非常大的整数数组中删除重复值的省时方法 数组的大小取决于登录的用户 但始终会超过 1500000 个未排序的值 并有一些重复项 每个整数都包含 100000 到 9999999 之间的数字 我尝试将其转换为列表
  • 使用 Fluent nhibernate 映射实体 oneToMany

    问题似乎很简单 但是我在尝试映射这个实体时遇到了很多麻烦 我只是看不出我做错了什么 你们能帮我吗 我有课Cliente public class Cliente public Cliente public virtual int Clien
  • 在进程之间共享类实例的方法

    我编写了一个 C 类 我需要在至少两个 Windows 进程之间共享一个实例 有哪些不同的方法可以做到这一点 最初我调查了 pragma data seg http msdn microsoft com en us library h90d
  • R Shiny 应用程序中的安全性

    我想发布一个 R Shiny Web 应用程序 http www rstudio com shiny http www rstudio com shiny 在网络上 但我想用密码保护它 以便只有拥有凭据的人才能查看我发布的内容 做这个的最好
  • 如何在 JavaScript 中将通配符元素名称与“querySelector()”或“querySelectorAll()”匹配?

    有没有办法使用通配符元素名称匹配querySelector or querySelectorAll 我试图解析的 XML 文档基本上是一个简单的属性列表 我需要找到名称中包含某些字符串的元素 我看到属性查询中支持通配符 但不支持元素本身 除
  • Node.js 中固定位置命令提示符

    有没有办法让命令提示符 只是一个question http nodejs org api readline html readline rl question query callback提示符或类似的东西 固定在终端的底部 并使用它来记录
  • AWS Glue:爬网程序无法识别 CSV 格式的时间戳列

    运行 AWS Glue 爬网程序时 它无法识别时间戳列 我已在 CSV 文件中正确设置 ISO8601 时间戳的格式 首先 我希望 Glue 能够自动将它们分类为时间戳 但事实并非如此 我还尝试从此链接中使用自定义时间戳分类器https d
  • 有没有办法将 Ruby Net::HTTP 请求附加到特定的 IP 地址/网络接口?

    我正在寻找一种方法 通过标准 Net HTTP 库为每个 GET 请求使用不同的 IP 地址 服务器有 5 个 IP 地址 并假设当达到每个 IP 的请求限制时 某些 API 会阻止访问 因此 唯一的方法是使用另一台服务器 我在 ruby
  • Python 中的 N-curses:如何捕获并打印非 ASCII 字符?

    我想用 ncurses python 制作一个小程序 并且能够使用 输入法语和日语 我知道我应该设置区域设置并使用 unicode 标准 但是如何处理 screen getch 的结果呢 我想在 ncurses 窗口中显示键入的字符 而不管
  • 刷新 Azure AD B2C 中的令牌撤销

    在我的 AD B2C 应用程序中 我需要撤销 AD B2C 为用户提供的所有刷新令牌 当用户帐户登录多个应用程序并且在一个应用程序中用户更改了密码时 这是一项需要实施的要求 更改密码后 我已撤销给予其他应用程序的所有刷新令牌 怎么做 Upd
  • 找不到 weblogic maven 插件

    我按照这个教程安装 weblogic 插件 http docs oracle com cd E21764 01 web 1111 e13702 maven deployer htm http docs oracle com cd E2176
  • 缺少 Firebase app_update 事件

    我看到了巨大的差异app updateFirebase 自动发送的事件以及用户群在发布时真正转换为新版本的情况 例如新版本发布期间的 5 天 120 个事件 VS 3k 用户 x20 差异 我确实检查了另一个 alpha 更新 其中数据导出
  • Pandas GroupBy 日期范围取决于每行

    我想做以下事情 对于如下所示的数据框 df pd DataFrame ID A A C B B date 06 24 2014 06 25 2014 06 23 2014 07 02 1999 07 02 1999 value 3 5 1