基于条件的Python列创建

时间:2018-01-16 14:43:56

标签: python pandas

我目前有以下(正在运作):

my_dataframe[[new_col_one, new_col_two]] = 
   my_dataframe['col_with_values'].str.extract(some_regex,expand=True)

我现在想要根据名为is_true的布尔值的列修改上面的代码。如果is_true包含True,它将执行str.extract调用。如果is_true列包含False,它将在new_col_one和new_col_two中放置NaN值。

is_true具有col_with_value中每个值的值。我不知道如何映射它们。我应该使用计数器/ for循环吗?有没有更好的方法来实现它?

示例输出:

col_with_values    is_true    new_col_one    new_col_two
foo                True       f              oo
bar                False      NaN            NaN

1 个答案:

答案 0 :(得分:1)

我认为您可以通过布尔列向两侧添加掩码:

if