熊猫根据其他列有条件地创建列值

时间:2019-10-22 04:10:03

标签: python pandas

我创建了一个名为url的空列。我想根据目标的值在每行中设置url的值。如果目标为0,则将在该行的url上使用urlA的值。否则,如果目标为1,则将在该行的url上使用urlB的值。为了便于说明,这是之前的表格。

   url   urlA   urlB    target
1         x1     y1       0
2         x2     y2       1
3         x3     y3       1
4         x4     y4       0

之后:

    url   urlA   urlB    target
1   x1      x1     y1       0
2   y2      x2     y2       1
3   y3      x3     y3       1
4   x4      x4     y4       0

1 个答案:

答案 0 :(得分:2)

使用np.where

df["url"] = np.where(df["target"]==1, df["urlB"], df["urlA"])

#
  url urlA urlB  target
0  x1   x1   y1       0
1  y2   x2   y2       1
2  y3   x3   y3       1
3  x4   x4   y4       0