创建一个列来保存连续值的运行计数

2024-01-16

我正在尝试创建一个列(“consec”),它将在另一个列(“二进制”)中保留连续值的运行计数,而不使用循环。这就是期望的结果:

.    binary consec
1       0      0
2       1      1
3       1      2
4       1      3
5       1      4
5       0      0
6       1      1
7       1      2
8       0      0

然而,这...

df['consec'][df['binary']==1] = df['consec'].shift(1) + df['binary']

结果这...

.  binary   consec
0     1       NaN
1     1       1
2     1       1
3     0       0
4     1       1
5     0       0
6     1       1
7     1       1
8     1       1
9     0       0

我看到其他使用分组或排序的帖子,但不幸的是,我不知道这对我有什么用。


您可以使用compare-cumsum-groupby模式(我really需要抽出时间来写文档),最后cumcount:

>>> df = pd.DataFrame({"binary": [0,1,1,1,0,0,1,1,0]})
>>> df["consec"] = df["binary"].groupby((df["binary"] == 0).cumsum()).cumcount()
>>> df
   binary  consec
0       0       0
1       1       1
2       1       2
3       1       3
4       0       0
5       0       0
6       1       1
7       1       2
8       0       0

这是可行的,因为首先我们得到了要重置计数器的位置:

>>> (df["binary"] == 0)
0     True
1    False
2    False
3    False
4     True
5     True
6    False
7    False
8     True
Name: binary, dtype: bool

这些的累积总和为我们提供了每个组的不同 id:

>>> (df["binary"] == 0).cumsum()
0    1
1    1
2    1
3    1
4    2
5    3
6    3
7    3
8    4
Name: binary, dtype: int64

然后我们可以将其传递给groupby并使用cumcount以获得每组中递增的指数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建一个列来保存连续值的运行计数 的相关文章

  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • OpenCV Python cv2.mixChannels()

    我试图将其从 C 转换为 Python 但它给出了不同的色调结果 In C Transform it to HSV cvtColor src hsv CV BGR2HSV Use only the Hue value hue create
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 如何使用 Ansible playbook 中的 service_facts 模块检查服务是否存在且未安装在服务器中?

    我用过service facts检查服务是否正在运行并启用 在某些服务器中 未安装特定的软件包 现在 我如何知道这个特定的软件包没有安装在该特定的服务器上service facts module 在 Ansible 剧本中 它显示以下错误
  • 使用 on_bad_lines 将 pandas.read_csv 中的无效行写入文件

    我有一个 CSV 文件 我正在使用 Python 来解析该文件 我发现文件中的某些行具有不同的列数 001 Snow Jon 19801201 002 Crom Jake 19920103 003 Wise Frank 19880303 l
  • 如何替换 pandas 数据框列中的重音符号

    我有一个数据框dataSwiss其中包含瑞士城市的信息 我想用普通字母替换带有重音符号的字母 这就是我正在做的 dataSwiss Municipality dataSwiss Municipality str encode utf 8 d
  • 是否可以忽略一行的pyright检查?

    我需要忽略一行的pyright 检查 有什么特别的评论吗 def create slog group SLogGroup data Optional dict None SLog insert one SLog group group da
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为
  • Python 函数可以从作用域之外赋予新属性吗?

    我不知道你可以这样做 def tom print tom s locals locals def dick z print z name z name z guest Harry print z guest z guest print di
  • 如何加速Python中的N维区间树?

    考虑以下问题 给定一组n间隔和一组m浮点数 对于每个浮点数 确定包含该浮点数的区间子集 这个问题已经通过构建一个解决区间树 https en wikipedia org wiki Interval tree 或称为范围树或线段树 已经针对一
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • Python 的“zip”内置函数的 Ruby 等价物是什么?

    Ruby 是否有与 Python 内置函数等效的东西zip功能 如果不是 做同样事情的简洁方法是什么 一些背景信息 当我试图找到一种干净的方法来进行涉及两个数组的检查时 出现了这个问题 如果我有zip 我可以写这样的东西 zip a b a
  • Fabric env.roledefs 未按预期运行

    On the 面料网站 http docs fabfile org en 1 10 usage execution html 给出这个例子 from fabric api import env env roledefs web hosts
  • Shiny:动态数据框构建; renderUI、观察、reactiveValues

    我认为如何使用 Shiny 的 renderUI 功能动态子集数据的问题经常出现 但我很难理解何时使用 renderUI 带有 uiOutput 而不是其他功能 包括观察 反应 反应值甚至条件面板 我想构建一个完全交互式的数据框架 其中每个
  • 如何在 Python 中追加到 JSON 文件?

    我有一个 JSON 文件 其中包含 67790 1 kwh 319 4 现在我创建一个字典a dict我需要将其附加到 JSON 文件中 我尝试了这段代码 with open DATA FILENAME a as f json obj js
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • 使用 Python 绘制 2D 核密度估计

    I would like to plot a 2D kernel density estimation I find the seaborn package very useful here However after searching
  • Python:如何将列表列表的元素转换为无向图?

    我有一个程序 可以检索 PubMed 出版物列表 并希望构建一个共同作者图 这意味着对于每篇文章 我想将每个作者 如果尚未存在 添加为顶点 并添加无向边 或增加每个合著者之间的权重 我设法编写了第一个程序 该程序检索每个出版物的作者列表 并
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from

随机推荐

  • 如何在 Paraview 中可视化存储在简单表格中的 XYZ+Field 体积数据?

    很长一段时间以来 我一直在 Goldensoftware Surfer Voxler 工作 在这个程序中 很容易可视化表数据 该方案如下所示 数据输入 在此步骤中我可以指定 x y z 和一个组件 一些物理场数据 gt 网格化 gt 轮廓
  • 使用 awk 调用可执行程序

    我有一个 C 程序 我想在 shell 脚本中使用 awk 来调用它 我怎样才能做这样的事情 来自 AWK 手册页 system cmd executes cmd and returns its exit status GNU AWKman
  • MySQL ORDER BY 另一个表中用户的总行数

    假设 我想显示一个用户列表 按他们发送的消息数量排序 我有 2 张桌子 Users and Messages 我有 10 个用户 用户 A 发送了 20 条消息 消息表中有 20 行 SELECT FROM messages WHERE u
  • 在 v-show 显示输入后将焦点设置在输入上

    我有一个简单的表单 使用 v show 在加载页面时隐藏该表单 我想在显示后集中输入 我有一个按钮来调用一个显示表单的方法 并使用以下代码将焦点设置为输入 this newQuestion true Form whit v show new
  • 使用 HTML5 在 iPhone 上播放 Shoutcast 流

    我知道这个问题过去已经被问过 但我最终没有找到答案 所以我得到了一个shoutcast流 编码音频 mpeg 我想为我的iPhone创建一个网络应用程序来收听我的流移动设备 我尝试了几种方法http mydomain com 8000 ht
  • 使用 Greasemonkey(或类似的用户脚本引擎)更快地重定向?

    我正在使用 Greasemonkey 将某些 URL 重定向到另一个 URL 但我想在要重定向的 URL 加载之前进行重定向 目前我正在使用这个简单的脚本 UserScript name Redirect Google descriptio
  • 在 Yii 中更新和删除相关模型(关系表)

    UPDATED 我有两个相关的模型 即候选人和资格 他们之间是一对一的关系 我正在使用 CActiveForm 并希望对关系数据执行 CRUD 操作 我能够插入数据 但更新和删除时遇到问题 该函数正在显示 id 但这是页面上唯一显示的内容
  • 切换后台任务时 SIGPIPE 崩溃

    将我的应用程序发送到后台 加载新应用程序 将设备切换到睡眠模式 唤醒设备 关闭新应用程序 然后从后台任务打开我的应用程序时 我遇到了奇怪的崩溃 将出现黑屏 我无法使用主页按钮退出此黑屏 并且在调试器中我会显示以下消息 程序接收信号 SIGP
  • 在 html 中使用包含空格的变量设置“value”属性

    我对 HTML JS 很陌生 所以如果这是一个基本问题 我深表歉意 我尝试在网上查找此问题 但无法找到解决方案 我正在使用 JS 代码来创建 HTML 我正在尝试使用包含空格的 var 设置 值 属性 带空格的字符串 当检查 chrome
  • 在 NPM 上发布要包含在 README.md 中的图像

    In 这个项目 https github com fireflysemantics validator the README md显示logo pnglogo png徽标位于顶部README md file 我们希望在 NPM 上显示相同的
  • QLPreviewController - 设置previewItemTitle

    我不知道如何设置 QLPreviewController 类的 PreviewItemTitle 属性 这似乎有点奇怪 因为此类的 iPhone 开发人员文档说该属性是 property readonly 这意味着我无法设置它 有任何想法吗
  • 是否可以在 Android 应用程序中使用 Neo4j 数据库?

    如果我在 Android 应用程序中使用 Neo4j 数据库 会出现任何错误吗 如果是这样 有人可以建议我任何其他图形数据库用作 Android 应用程序的后端吗 是的 尽管Neo4J提供REST API来使用Cypher语言查询数据库 h
  • 使用 JavascriptExecutor 发送密钥并单击 Web 元素

    我正在尝试在新选项卡中打开一个链接 然后在 Firefox 浏览器中使用 Java 中的 selenium 切换到该选项卡 据我了解 为了做到这一点 我需要使用发送键组合 为了在同一窗口中打开链接 我一直在使用这样的东西 WebElemen
  • 为什么我无法将node_modules文件上传到GitHub存储库?

    我有一个使用 Angular 6 编写的项目 我想将该项目上传到 GitHub 但是当我使用 GitHub Desktop 上传该项目时 除了 node modules 文件之外的所有文件都会上传 当我从 GitHub 下载项目并尝试运行时
  • JTable 中的 JSlider

    用于放置一个JSlider into a JTable我写的是AbstractCellEditor它实现了一个TableCellRendererand a TableCellEditor 它使用 0 到 100 之间的值进行初始化 我有一个
  • 使用 SIFT 搜索图像数据库

    Several https stackoverflow com questions 1612037 comparing images using sift 问题 https stackoverflow com questions 15004
  • 在模式注册表中,消费者的模式可能与生产者的模式不同,这实际上意味着什么

    在向 Kafka 生成 AVRO 数据时 Avro 序列化程序在写入数据时使用的字节数组中写入相同的架构 ID Kafka Consumer 根据接收到的字节数组中的模式 ID 从模式注册表中获取模式 因此 生产者和消费者等模式都使用相同的
  • 该操作无法完成,因为 DbContext 已使用 MVC 4 进行处置

    我知道这个问题被问了很多次 我已阅读并实施了所有解决方案 但没有取得成功 当我使用 EF 从数据库检索数据并在视图上使用此模型后与模型绑定时 出现此错误 我的控制器代码是 using System Linq using System Web
  • 卸载 32 位应用程序并安装 64 位应用程序

    是否有可能告诉 Inno Setup 卸载应用程序的 32 位版本 通常驻留在Program Files x86 以便安装 64 位版本的应用程序 通常在Program Files 如果不卸载32位版本 那么它们的bot就会在启动时启动 从
  • 创建一个列来保存连续值的运行计数

    我正在尝试创建一个列 consec 它将在另一个列 二进制 中保留连续值的运行计数 而不使用循环 这就是期望的结果 binary consec 1 0 0 2 1 1 3 1 2 4 1 3 5 1 4 5 0 0 6 1 1 7 1 2