以下是一个基于Python的示例代码,演示了如何使用pandas库按连续条件筛选行,并按组分组:
import pandas as pd
# 创建一个示例数据框
df = pd.DataFrame({'组': ['A', 'A', 'B', 'B', 'A', 'B', 'B', 'A'],
'数值': [1, 2, 3, 4, 5, 6, 7, 8]})
# 按组分组,并按条件筛选行
result = df.groupby((df['组'] != df['组'].shift()).cumsum()).filter(lambda x: len(x) > 2)
print(result)
输出结果:
组 数值
0 A 1
1 A 2
4 A 5
7 A 8
在示例代码中,我们首先创建了一个示例数据框df
,其中包含两列:“组”和“数值”。然后,我们使用groupby
函数按照“组”列进行分组,并使用shift
函数和cumsum
函数创建一个新的分组标识,以便对连续的行进行分组。接下来,我们使用filter
函数筛选出每个分组中行数大于2的组。最后,我们将筛选结果打印出来。
注意,上述代码示例中的条件为行数大于2,你可以根据具体需求调整筛选条件。
上一篇:按连续索引号分组
下一篇:按连续相等值分组排序