我想根據以下文本條件在 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 適用于數字列,但不適用于基于文本的列。我需要在我的代碼中進行哪些調整才能使其正常作業?
uj5u.com熱心網友回復:
我發現代碼有幾個問題
- 當您進行比較時,如果您想知道某事是否相等,則必須使用 ==
- 對于第二個 np.where() 如果您希望在單個運算式中使用多個引數,它們必須用 () 包圍
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/484217.html
