Reputation: 53
Team, I have a huge pandas data frame of historical stock OHLC data. I want to compare a particular column value , for e.g. I want to compare today's open with yesterdays open or today's low with yesterdays low ( I have almost 5000 rows to compare )
I tried something like followed, but it gives me just one constant value..
#calculate Low Travel point
df['1back'] = df['low'].iloc[-1]
any suggestion plese??
Upvotes: 2
Views: 109
Reputation: 53
filter_EMA_TOGGLER_Steady = df['EMA_CROSS'] == df['EMA_CROSS'].shift(-1)
filter_EMA_TOGGLER_BUY = (df['EMA_CROSS'] == 'SELL') & (df['EMA_CROSS'].shift(-1) == 'BUY')
filter_EMA_TOGGLER_SELL = (df['EMA_CROSS'] == 'BUY') & (df['EMA_CROSS'].shift(-1) == 'SELL')
#SMA
filter_SMA_TOGGLER_Steady = df['SMA_CROSS'] == df['SMA_CROSS'].shift(-1)
filter_SMA_TOGGLER_BUY = (df['SMA_CROSS'] == 'SELL') & (df['SMA_CROSS'].shift(-1) == 'BUY')
filter_SMA_TOGGLER_SELL = (df['SMA_CROSS'] == 'BUY') & (df['SMA_CROSS'].shift(-1) == 'SELL')
Upvotes: 0
Reputation: 3518
This code:
import pandas as pd
df = pd.DataFrame([
[10, 102],
[12, 98],
[13, 99],
[15, 94]
],
columns=['p1', 'p2']
)
print(df.head(10))
df['p1_diff'] = df['p1'].diff(1)
df['p2_diff'] = df['p2'].diff(1)
print(df.head(10))
Should provide the following output:
p1 p2
0 10 102
1 12 98
2 13 99
3 15 94
p1 p2 p1_diff p2_diff
0 10 102 NaN NaN
1 12 98 2.0 -4.0
2 13 99 1.0 1.0
3 15 94 2.0 -5.0
Process finished with exit code 0
What you look for is diff
. Reference here.
Upvotes: 2