>>> import pandas as pd
>>> df = pd.DataFrame([[4, 5, 9, 7, 10], [5, 4, 11, 8, 9]]).T
>>> df.columns = ['High', 'Open']
>>> df
High Open
0 4 5
1 5 4
2 9 11
3 7 8
4 10 9
>>> df['pre_high'] = df['High'].shift(1)
>>> df
High Open pre_high
0 4 5 NaN
1 5 4 4.0
2 9 11 5.0
3 7 8 9.0
4 10 9 7.0
Теперь, если вы хотите проверить, где pre_high
больше, чем current open
, вы можете сделать следующее:
>>> df['Signal'] = df['High'].shift(1) > df['Open']
>>> df
High Open pre_high Signal
0 4 5 NaN False
1 5 4 4.0 False
2 9 11 5.0 False
3 7 8 9.0 True
4 10 9 7.0 False