Python:将 np.where 与文本列合并

Python: combining np.where with text columns

我想根据以下文本条件将新列插入到 Python 中的数据框中

Data['new_column'] = np.where(Data.Column1 = 'Text1', 1.20, 
                     np.where(Data.Column2  = 'Text 2' & Data.Column3='Text2' , 1.09, 1))

np.where 适用于数字列,但不适用于基于文本的列。 我需要在我的代码中调整什么才能使其正常工作?

我发现代码有几个问题

  1. 当你进行比较时,如果你想知道是否相等,你必须使用 ==
  2. 对于第二个 np.where() 如果您希望在单个表达式中使用多个参数,则它们必须被 ()
  3. 包围
Data = {
    'Column1' : ['Text1', 2, 3, np.nan],
    'Column2' : [1, 'Text 2', 3, 4],
    'Column3' : [1, 'Text 2', 3, 4]
}
Data = pd.DataFrame(Data)
Data['new_column'] = np.where(Data.Column1 == 'Text1', 1.20,
                     np.where((Data.Column2  == 'Text 2') & (Data.Column3 == 'Text 2') , 1.09, 1))
Data