我有一个数据帧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