正在创建新的数据帧列,其中一列<另一个



我有一个名为V_test的数据帧,看起来有点像:

| offer_code | min_age_actual | min_age_allowed
-|------------|----------------|----------------
0| 123        | 18             | 18
1| 456        | 49             | 50
2| 789        | 20             | NaN

我想创建一个新列,将实际最小年龄低于允许的最小年龄(如果有(的任何行标记为1。所有其他将被标记为0。所以想要的结果是这样的:

| offer_code | min_age_actual | min_age_allowed | flag
-|------------|----------------|-----------------|-----
0| 123        | 18             | 18              | 0
1| 456        | 49             | 50              | 1
2| 789        | 20             | NaN             | 0

有人知道怎么做吗?

通过Series.astype:将两列比较为整数的boolen掩码转换

df['flag'] = (df.min_age_actual < df.min_age_allowed).astype(int)

或者使用numpy.where:

df['flag'] = np.where(df.min_age_actual < df.min_age_allowed), 1, 0)

使用df['col'] = np.where(df['A']<df['B'], 1, 0)

相关内容

最新更新