我有一個數據幀data
它看起來像一個數據幀列:灌裝基於多個條件選擇
Holiday Report Action Power
0 0 0 1.345
0 0 0 1.345
1 0 0 0
0 0 0 1.345
0 0 0 1.345
0 1 0 0
0 0 0 1.345
0 1 1 0
0 0 0 1.345
0 0 1 0
列「假日」,「報告」和「操作」在拉着尋找一個功率進行計算。一些其他數據列。我正在尋找一行代碼,如果有任何「假期」,「報告」或「操作」列設置爲1,我可以將電源設置爲零。
我可以執行此過程一列在一段時間:
data.loc[staticidx, "power"] = np.where(dayData.Holiday = 1, 0, (a - b)/(c-1))
data.loc[staticidx, "power"] = np.where(dayData.Report= 1, 0, (a - b)/(c-1))
data.loc[staticidx, "power"] = np.where(dayData.Actions= 1, 0, (a - b)/(c-1))
但是有沒有辦法將它們合併成一個函數,像一個OR語句的東西?
非常感謝
也許事端g like:'np.where((df.ix [:,:'Action'] == 1).any(axis = 1),0,1.345)'? – Divakar
@Divakar處理所有行,在這裏使用'loc'只會更新符合條件的行,而不會改變任何現有的值 – EdChum
哦,是的。所以,我猜你可以避免'> 0'並且賦值需要是'0'而不是'1'? – Divakar