我在多個條件下嘗試了以下代碼并且作業得很好,不知何故,無論我在一個條件下嘗試它都行不通。無論 Col_A 的值是否為 True,它只會為每一行回傳值“1”和“SD”。請讓我知道任何建議,奇怪的是我沒有收到任何錯誤。
condition = [
df1['Col_A'] == 'TRUE'
]
result1 = ['1']
result2 = ['SD']
df1['Col_B'] = np.select(condition, result1, 'NA')
df1['Col_C'] = np.select(condition, result2, 'NA')
df1```
Input
Col_A Col_B Col_C
0 TRUE NA NA
1 FALSE 1001 Valid
2 TRUE NA NA
3 TRUE NA NA
Output
Col_A Col_B Col_C
0 TRUE NA NA
1 FALSE NA NA
2 TRUE NA NA
3 TRUE NA NA
Desired Output
Col_A Col_B Col_C
0 TRUE 1 SD
1 FALSE 1001 Valid
2 TRUE 1 SD
3 TRUE 1 SD
uj5u.com熱心網友回復:
您可以使用帶有條件的簡單loc賦值:
字串"TRUE":
df.loc[df['Col_A'].eq('TRUE'), ['Col_B', 'Col_C']] = [1, 'SD']
布林值True:
df.loc[df['Col_A'], ['Col_B', 'Col_C']] = [1, 'SD']
輸出:
Col_A Col_B Col_C
0 TRUE 1.0 SD
1 FALSE 1001.0 Valid
2 TRUE 1.0 SD
3 TRUE 1.0 SD
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/424181.html
