[英]iterate through columns pandas dataframe and create another column based on a condition
I have a dataframe df我有一个 dataframe df
ID ID2 escto1 escto2 escto3
1 A 1 0 0
2 B 0 1 0
3 C 0 0 3
4 D 0 2 0
so either using indexing or using wildcard所以要么使用索引要么使用通配符
like column name 'escto*'
if df.iloc[:, 2:]>0 then df.helper=1
or或者
df.loc[(df.iloc[:, 3:]>0,'Transfer')]=1
So that output becomes这样 output 就变成了
ID ID2 escto1 escto2 escto3 helper
1 A 1 0 0 1
2 B 0 1 0 1
3 C 0 0 3 1
4 D 0 2 0 1
One option is to use the boolean output:一种选择是使用 boolean output:
df.assign(helper = df.filter(like='escto').gt(0).any(1).astype(int))
ID ID2 escto1 escto2 escto3 helper
0 1 A 1 0 0 1
1 2 B 0 1 0 1
2 3 C 0 0 3 1
3 4 D 0 2 0 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.