It's probably easier to show you my code.
def breakout(x, ws):
max_x=pd.rolling_max(x, ws, min_periods=min(len(x),int(ws/2)))
min_x=pd.rolling_min(x, ws, min_periods=min(len(x), int(ws/2)))
sig=[breakout_one_row(idx, x, max_x, min_x) for idx in range(len(x.index))]...