По моему мнению, никакие петли (медленные) не нужны, также кажется, что имя столбца имеет номер 0
:
mask = dfenergyBalance[0] < 0
excessSupply = dfenergyBalance.loc[mask, 0].tolist()
excessLoad = dfenergyBalance.loc[~mask, 0].tolist()
print (excessSupply)
[-60.18, -22.08]
print (excessLoad)
[43.78]
РЕДАКТИРОВАТЬ:
Для списка только с 0
подлина положительных значений:
excessLoad = [0] * (~mask).sum()
print (excessLoad)
[0]
Если нужен только один список с замененными положительными значениями 0
:
L = np.where(mask, dfenergyBalance[0], 0).tolist()
print (L)
[-60.18, 0.0, -22.08]