[英]Creating a new column based on three existing columns
I have a data frame with three columns, target_degrees
, low_degrees
, and high_degrees
.我有一个包含三列的数据框
target_degrees
、 low_degrees
和high_degrees
。 I would like to make a new column labeled success that checks to see if target_degrees is located between low_degrees
and high_degrees
.我想创建一个标记为 success 的新列,用于检查 target_degrees 是否位于
low_degrees
和high_degrees
之间。
example dataframe:示例数据框:
target_degrees low_degrees high_degrees success
10 0 50 1
50 45 100 1
20 100 200 0
1 300 350 0
I have tried using np.where
in the following code but I am getting a syntax error.我已尝试在以下代码中使用
np.where
,但出现语法错误。
df['success'] = np.where(df['target_degrees'] is in np.arange(df['low_degrees'], df['high_degrees']), 1, 0)
Use multiple conditions:使用多个条件:
df['success'] = np.where(((df['target_degrees'] >= df['low_degrees']) & (df['target_degrees']<= df['high_degrees'])), 1, 0)
output :输出:
target_degrees low_degrees high_degrees success
0 10 0 50 1
1 50 45 100 1
2 20 100 200 0
3 1 300 350 0
用between
方法更简洁一点:
df['success'] = df['target_degrees'].between(df['low_degrees'], df['high_degrees'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.