Быстрее, используя numpy add и где
import numpy as np
qld = [523.720765, 512.180608, 519.076642, 516.329201, 525.150158]
flow = [ -8.961111, 9.503472, -10.776389, 1.451389, -10.388195]
df1 = pd.DataFrame(qld, columns=['QLD'])
df2 = pd.DataFrame(flow, columns=['Incoming_Flow'])
s = np.add(df1['QLD'], np.where(df2['Incoming_Flow'] > 0, df2['Incoming_Flow'], 0))
print(s)
0 523.720765
1 521.684080
2 519.076642
3 517.780590
4 525.150158
Сроки:
s1 = pd.Series(np.arange(50000))
s2 = pd.Series(np.random.randint(-4, 10,50000))
%timeit s1.add(s2.where(s2.gt(0), 0))
890 µs ± 58.9 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
%timeit np.add(s1, np.where(s2 > 0, s2, 0))
367 µs ± 6.82 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)