I'm new to python and very new to Pandas. I've looked through the Pandas documentation and tried multiple ways to solve this problem unsuccessfully.
I have a DateFrame with timestamps in one column and prices in another, such as:
d = {'TimeStamp': [1603822620000, 1603822680000,1603822740000, 1603823040000,1603823100000,1603823160000,1603823220000], 'Price': [101,105,102,108,105,101,106], 'OtherData1': [1,2,3,4,5,6,7], 'OtherData2': [7,6,5,4,3,2,1]}
df= pd.DataFrame(d)
df
       TimeStamp  Price  OtherData1  OtherData2
0  1603822620000    101           1           7
1  1603822680000    105           2           6
2  1603822740000    102           3           5
3  1603823040000    108           4           4
4  1603823100000    105           5           3
5  1603823160000    101           6           2
6  1603823220000    106           7           1
In addition to the two columns of interest, this DataFrame also has additional columns with data not particularly relevant to the question (represented with OtherData Cols).
I want to create a new column 'Fut2Min' (Price Two Minutes into the Future). There may be missing data, so this problem can't be solved by simply getting the data from 2 rows below.
I'm trying to find a way to make the value for Fut2Min Col in each row == the Price at the row with the timestamp + 120000 (2 minutes into the future) or null (or NAN or w/e) if the corresponding timestamp doesn't exist.
For the example data, the DF should be updated to: (Code used to mimic desired result)
d = {'TimeStamp': [1603822620000, 1603822680000, 1603822740000, 1603822800000, 1603823040000,1603823100000,1603823160000,1603823220000], 
     'Price': [101,105,102,108,105,101,106,111], 
     'OtherData1': [1,2,3,4,5,6,7,8], 
     'OtherData2': [8,7,6,5,4,3,2,1],
    'Fut2Min':[102,108,'NaN','NaN',106,111,'NaN','NaN']}
df= pd.DataFrame(d)
df
       TimeStamp  Price  OtherData1  OtherData2 Fut2Min
0  1603822620000    101           1           8     102
1  1603822680000    105           2           7     108
2  1603822740000    102           3           6     NaN
3  1603822800000    108           4           5     NaN
4  1603823040000    105           5           4     106
5  1603823100000    101           6           3     111
6  1603823160000    106           7           2     NaN
7  1603823220000    111           8           1     NaN
 
     
    