检查 pandas 列中的连续行值

2024-03-10

I have:

    hi     

0    1      
1    2      
2    4      
3    8    
4    3     
5    3    
6    2   
7    8    
8    3   
9    5     
10    4  

我有一个列表和单个整数的列表,如下所示:

[[2,8,3], 2, [2,8]]

对于主列表中的每个项目,我想找出它第一次出现在列中的索引。

因此,对于单个整数(即 2),我想知道它第一次出现在 hi 列中(索引 1,但当它再次出现时,即索引 6,我不感兴趣)

对于列表中的列表,我想知道列表出现时的最后一个索引in order在那一栏里。

因此,对于按顺序出现在索引 6、7 和 8 处的 [2,8,3],因此我希望返回 8。请注意,它也出现在这之前,但中间插入了 4,所以我对它不感兴趣。

到目前为止我已经使用过:

for c in chunks:

        # different method if single note chunk vs. multi

        if type(c) is int:
           # give first occurence of correct single notes
           single_notes = df1[df1['user_entry_note'] == c]
           single_notes_list.append(single_notes)

        # for multi chunks
        else:
            multi_chunk = df1['user_entry_note'].isin(c)
            multi_chunk_list.append(multi_chunk)

你可以这样做np.logical_and.reduce + shift。但有很多边缘情况需要处理:

import numpy as np

def find_idx(seq, df, col):
    if type(seq) != list:     # if not list
        s = df[col].eq(seq)
        if s.sum() >= 1:      # if something matched
            idx = s.idxmax().item()
        else:
            idx = np.NaN
    elif seq:                 # if a list that isn't empty
        seq = seq[::-1]       # to get last index
        m = np.logical_and.reduce([df[col].shift(i).eq(seq[i]) for i in range(len(seq))])
        s = df.loc[m]
        if not s.empty:       # if something matched
            idx = s.index[0]
        else:
            idx = np.NaN
    else:                     # empty list
        idx = np.NaN
    return idx

l = [[2,8,3], 2, [2,8]]
[find_idx(seq, df, col='hi') for seq in l]
#[8, 1, 7]

l = [[2,8,3], 2, [2,8], [], ['foo'], 'foo', [1,2,4,8,3,3]]
[find_idx(seq, df, col='hi') for seq in l]
#[8, 1, 7, nan, nan, nan, 5]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查 pandas 列中的连续行值 的相关文章

  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是
  • Python getstatusoutput 替换不返回完整输出

    我发现了这个很棒的替代品getstatusoutput Python 2 中的函数在 Unix 和 Windows 上同样有效 不过我觉得这个方法有问题output被构建 它只返回输出的最后一行 但我不明白为什么 任何帮助都是极好的 def
  • 使用 Python 从文本中删除非英语单词

    我正在 python 上进行数据清理练习 我正在清理的文本包含我想删除的意大利语单词 我一直在网上搜索是否可以使用像 nltk 这样的工具包在 Python 上执行此操作 例如给出一些文本 Io andiamo to the beach w
  • 删除flask中的一对一关系

    我目前正在使用 Flask 开发一个应用程序 并且在删除一对一关系中的项目时遇到了一个大问题 我的模型中有以下结构 class User db Model tablename user user id db Column db String
  • Pandas 日期时间格式

    是否可以用零后缀表示 pd to datetime 似乎零被删除了 print pd to datetime 2000 07 26 14 21 00 00000 format Y m d H M S f 结果是 2000 07 26 14
  • 将 python2.7 与 Emacs 24.3 和 python-mode.el 一起使用

    我是 Emacs 新手 我正在尝试设置我的 python 环境 到目前为止 我已经了解到在 python 缓冲区中使用 python mode el C c C c将当前缓冲区的内容加载到交互式 python shell 中 显然使用了什么
  • 立体太阳图 matplotlib 极坐标图 python

    我正在尝试创建一个与以下类似的简单的立体太阳路径图 http wiki naturalfrequent com wiki Sun Path Diagram http wiki naturalfrequency com wiki Sun Pa
  • Pandas Merge (pd.merge) 如何设置索引和连接

    我有两个 pandas 数据框 dfLeft 和 dfRight 以日期作为索引 dfLeft cusip factorL date 2012 01 03 XXXX 4 5 2012 01 03 YYYY 6 2 2012 01 04 XX
  • 使用 xlrd 打开 BytesIO (xlsx)

    我正在使用 Django 需要读取上传的 xlsx 文件的工作表和单元格 使用 xlrd 应该可以 但因为文件必须保留在内存中并且可能不会保存到我不知道如何继续的位置 本例中的起点是一个带有上传输入和提交按钮的网页 提交后 文件被捕获req
  • 为什么 PyYAML 花费这么多时间来解析 YAML 文件?

    我正在解析一个大约 6500 行的 YAML 文件 格式如下 foo1 bar1 blah name john age 123 metadata whatever1 whatever whatever2 whatever stuff thi
  • Docker 中的 Python 日志记录

    我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本 我正在尝试查找由 Python Logger 模块生成的日志文件 下面是我的Python脚本 import time import logging
  • 在 Sphinx 文档中*仅*显示文档字符串?

    Sphinx有一个功能叫做automethod从方法的文档字符串中提取文档并将其嵌入到文档中 但它不仅嵌入了文档字符串 还嵌入了方法签名 名称 参数 我如何嵌入only文档字符串 不包括方法签名 ref http www sphinx do
  • Numpy - 根据表示一维的坐标向量的条件替换数组中的值

    我有一个data多维数组 最后一个是距离 另一方面 我有距离向量r 例如 Data np ones 20 30 100 r np linspace 10 50 100 最后 我还有一个临界距离值列表 称为r0 使得 r0 shape Dat
  • 加快网络抓取速度

    我正在使用一个非常简单的网络抓取工具抓取 23770 个网页scrapy 我对 scrapy 甚至 python 都很陌生 但设法编写了一个可以完成这项工作的蜘蛛 然而 它确实很慢 爬行 23770 个页面大约需要 28 小时 我看过scr
  • 仅第一个加载的 Django 站点有效

    我最近向 stackoverflow 提交了一个问题 标题为使用mod wsgi在apache上多次请求后Django无限加载 https stackoverflow com questions 71705909 django infini
  • 如何在 Windows 命令行中使用参数运行 Python 脚本

    这是我的蟒蛇hello py script def hello a b print hello and that s your sum sum a b print sum import sys if name main hello sys
  • Python ImportError:无法导入名称 __init__.py

    我收到此错误 ImportError cannot import name life table from cdc life tables C Users tony OneDrive Documents Retirement retirem
  • cv2.VideoWriter:请求一个元组作为 Size 参数,然后拒绝它

    我正在使用 OpenCV 4 0 和 Python 3 7 创建延时视频 构造 VideoWriter 对象时 文档表示 Size 参数应该是一个元组 当我给它一个元组时 它拒绝它 当我尝试用其他东西替换它时 它不会接受它 因为它说参数不是
  • 使用 z = f(x, y) 形式的 B 样条方法来拟合 z = f(x)

    作为一个潜在的解决方案这个问题 https stackoverflow com questions 76476327 how to avoid creating many binary switching variables in gekk
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo

随机推荐

  • 动态创建树视图

    我正在尝试使用 c 和 asp net 动态创建树视图 我使用 populate ondemand 属性创建了一个延迟加载树视图 gt
  • 包括库在Android项目中使用的共享对象

    我的 Android 项目正在使用具有本机代码的 Android 库项目 并且我得到了UnsatisifiedLinkError来自库使用的本机函数 我已将库使用的这些共享对象包含在项目的 Android mk 文件中 并将它们正确复制到
  • Java 中 JTable 的两个单元格之间的乘法

    当我在 单位 和 价格 列第一行的单元格中输入值时 金额 列 列单元格值应设置为 unit 和 amount 的乘积 我应该使用哪个监听器 请帮忙 因为我是 Java 新手 CODE JTable jTable1 DefaultTableM
  • Pyinstaller - 加载 Python DLL 时出错 - FormatMessageW 失败

    我编译了我的 py文件运行以下命令 pyinstaller myfile py onefile 当我在我的上运行它时pc Windows 10 一切都很好 当我尝试在我的 虚拟机 Windows 8 上运行它时 我收到以下错误 加载 Pyt
  • 部署到 Heroku 失败。移动文件与节点版本不兼容

    我正在努力将新的 Rails 6 应用程序部署到 Heroku 它在我本地运行良好 在部署过程中 我收到以下输出 不幸的是 我对 webpack 和 Yarn 还很陌生 这似乎是 move file 的版本 依赖关系问题 而 move fi
  • 插入附近的语法不正确

    我是学生 这是家庭作业 表在那里 但没有插入数据 感谢您的任何建议 Msg 156 Level 15 State 1 Line 181 Incorrect syntax near the keyword INSERT SQL语句 USE M
  • 在字符串中的某些字符之前和之后添加空格

    我想在字符串中的某些字符之前和之后添加空格 var x asdasdasdasd adasdasdasd asdasdasdasd asdasdasd asdasdasd asdasdasdadasdasd 我想在前后添加空格 var se
  • 包括标签和数据绑定

    我想在同一视图中多次使用我的布局之一include 假设我有一个custom xml包括一些TextViews custom xml
  • Reactjs不加载文本字体

    我在用React with Typescript and Styled Component我无法上传文本字体 只有字体可以不在浏览器中加载 我所拥有的是以下 字体 ts import css from styled components e
  • MFMessageComposeViewController 和 iMessage

    我正在构建一个有按钮的应用程序 如果您触摸该按钮 则会出现MFMessageComposeViewController将显示 并填写正文和一名收件人 该收件人是 4343 这是比利时短信的简码 这里错误的是MFMessageComposeV
  • 如何捕获 paypal webhook?

    我已在我的网站中集成了 PayPal 智能按钮createOrder and Capture在服务器端处理 付款完成后 交易即可在业务沙箱帐户上使用 并且webhook事件在 Webhooks 事件页面中注册 The webhook POS
  • Apache 模块命令解析器原型

    我正在创建 Apache2 模块并遇到奇怪的编译问题 这是我的函数的原型 用于解析名为 的配置命令分析IP static const char apr cfg set analytics ip cmd parms cmd void conf
  • tensorflow conv2d内存消耗解释?

    output tf nn conv2d input weights strides 1 3 3 1 padding VALID My input形状为 200x225x225x1 weights是 15x15x1x64 因此 output形
  • nbactions.xml 有何用途?

    经过一段时间的搜索后 我认为这与使用 Maven 和 Net beans 构建应用程序有关 但我似乎找不到这方面的良好文档 使用 nbaction xml 可以实现哪个目标 如果有的话 哪一个与 Eclipse 等效 The nbactio
  • 为什么这个 constexpr 代码会导致 GCC 吃掉我所有的 RAM?

    以下程序将调用fun2 MAXD 1 次 不过 最大递归深度永远不应该超过 MAXD 如果我的想法是正确的 因此 编译可能需要一些时间 但它不应该占用我的内存 include
  • 特定文件夹结构中的文件的 Azure 存储

    目前我有一些 ftp 其中有一些文件夹和文件的深层结构 它甚至可能比根文件夹低 10 级 由于我已经成功地将本地数据库迁移到 azure 数据库 我还想知道是否有任何 azure ftp 我也可以用来迁移它 我知道我们有类似 Azure 存
  • 如何在 Bootstrap 3 中使用 bootstrap-theme.css?

    从以下位置下载完整的 bootstrap 3 包后http getbootstrap com http getbootstrap com 我注意到主题有一个单独的 css 文件 如何利用它 请解释 包括我bootstrap theme cs
  • 创建一个128字节的随机数

    If the rand 函数创建一个长度为 4 字节的随机数 我想创建一个长度为 1024 位 128 字节 的随机数 这是通过连接来获得此值的最简单方法rand 函数256次还是有其他方法 include
  • Random().Next() 的流需要多长时间才会重复?

    考虑 NETRandom stream var r new Random while true r Next 重复需要多长时间 根据文档 伪随机数是从有限个数中以相等的概率选择的 一组数字 选定的数字是 不是完全随机的 因为 确定的数学算法
  • 检查 pandas 列中的连续行值

    I have hi 0 1 1 2 2 4 3 8 4 3 5 3 6 2 7 8 8 3 9 5 10 4 我有一个列表和单个整数的列表 如下所示 2 8 3 2 2 8 对于主列表中的每个项目 我想找出它第一次出现在列中的索引 因此 对