gpt4 book ai didi

python - 通过条件值识别连续的单元格

转载 作者:太空宇宙 更新时间:2023-11-03 15:34:43 26 4
gpt4 key购买 nike

我想知道如何在下面的数据框上创建一个额外的列,当年龄列上有 3 个或更多连续值大于 35 时,该列将为 1

数据

age
0 12
1 50
2 49
3 29
4 55
5 34
6 23
7 46
8 87
9 39

期望的输出:

   age  flag
0 12 0
1 50 0
2 49 0
3 29 0
4 55 0
5 34 0
6 23 0
7 46 1
8 87 1
9 39 1

我该怎么做?谢谢

最佳答案

首先比较 Series.gt 的值对于 >,然后使用 cumsum 通过 shift 创建连续的组,最后按组分组并使用 GroupBy.transform 获取计数- 比较 Series.ge并与原始 s 链接以防止设置 3 个连续的 >35 值,最后将 True/False 的值设置为 1/0 映射:

s = df['age'].gt(35)
g = s.ne(s.shift()).cumsum()

df['flag'] = (s.groupby(g).transform('size').ge(3) & s).astype(int)
print (df)
age flag
0 12 0
1 50 0
2 49 0
3 29 0
4 55 0
5 34 0
6 23 0
7 46 1
8 87 1
9 39 1

关于python - 通过条件值识别连续的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55574017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com