如果一个表连续3次具有相同的索引,我希望它为我获取此数据帧.

示例

index  var1
1        a     
2        b    
2        c
2        d
3        e
2        f
5        g
2        f

在代码之后

预期yields

index  var1
2       b
2       c
2       d

推荐答案

让我们用cumsum标识连续索引的块,然后用counttransform分组,找出每个块的大小,然后 Select 块大小为> 2的行

b = df['index'].diff().ne(0).cumsum()
df[b.groupby(b).transform('count') > 2]

   index var1
1      2    b
2      2    c
3      2    d

Python-3.x相关问答推荐

根据样本量随机 Select 组内样本

需要使用regex匹配字符串的帮助,直到最后一次出现开闭括号,开闭括号中的值是可选的

无法使用诗词安装PyYaml

数组列的极点成对求和

我想判断df_entry_log[AM_PM],并根据测试填充列

为什么我无法在django中按月筛选事件?

Python VS Code 自动导入路径包含 src

链接列未延伸到数据框的末尾

以不规则频率识别数据框日期时间列上缺失的日期,并用关联值填充它们

如何通过从特定列创建分组多标题来reshape 数据框?

如何在 on_ready 事件中使用 change_presence? (discord.py)

使用正则表达式捕获组解析地址

如何融化具有自定义名称的Pandas

在不使用字符串方法的情况下查找字符串最后一个单词的长度 - Python

无法使用 Python 和 Selenium 检索 href 属性

Python3四舍五入到最接近的偶数

判断 dict.items() 中的成员资格的时间复杂度是多少?

将 numpy.float64 列表快速转换为 Python 中的浮点数

python判断一个方法是否被调用而不模拟它

命名参数可以与 Python 枚举一起使用吗?