首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何创建处理前n行信息的新布尔列

如何创建处理前n行信息的新布尔列
EN

Stack Overflow用户
提问于 2018-07-28 07:09:39
回答 1查看 44关注 0票数 0

给定一个dataframe df,我希望根据前n行(例如前3行)中的值为每行生成一个新的变量/列。

例如,给定以下内容:

输入

代码语言:javascript
复制
A   B  C
10  2  59.4
53  3  71.5
32  2  70.4
24  3  82.1

计算D:如果在C中的实际行或C中的前3行中有2个或更多的单元格> 70,则为1,否则为0

输出

代码语言:javascript
复制
A   B  C     D
10  2  59.4  0
53  3  71.5  0
32  2  70.4  1
24  3  82.1  1

在熊猫里我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2018-07-28 07:12:41

IIUC,应该使用rolling并在apply中构建逻辑

代码语言:javascript
复制
window = 3
df.C.rolling(window).apply(lambda s: 1 if (s>=70).size >= 2 else 0)

0    NaN
1    NaN
2    1.0
3    1.0

您还可以使用fillnaNaN%s转换为0

代码语言:javascript
复制
.fillna(0)

0    0.0
1    0.0
2    1.0
3    1.0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51566579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档