How to merge the values of the Pandas ' enquiries in the row
-
df=pd.DataFrame({'a':['a'+str(i) for i in range(10)],'b':['b'+str(i) for i in range(10)]})
DF
a b
a0 b0
a1 b1
a2 b2
a3 b3
a4 b4
a5 b5
a6 b6
a7 b7
a8 b8
a9 b9
It should be converted into a form of duplication of previous data, e.g., past 2 pages (N=2):
a_0 b_0 a_1 b_1 a_2 b_2
a0 b0 na na na na
a1 b1 a0 b0 na na
a2 b2 a1 b1 a0 b0
a3 b3 a2 b2 a1 b1
a4 b4 a3 b3 a2 b2
a5 b5 a4 b4 a3 b3
a6 b6 a5 b5 a4 b4
a7 b7 a6 b6 a5 b5
a8 b8 a7 b7 a6 b6
a9 b9 a8 b8 a7 b7
-
Use the method. https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.shift.html :
df[["a1","b1"]] = df[["a","b"]].shift()
df[["a2","b2"]] = df[["a","b"]].shift(2)
result:
In [225]: df
Out[225]:
a b a1 b1 a2 b2
0 a0 b0 NaN NaN NaN NaN
1 a1 b1 a0 b0 NaN NaN
2 a2 b2 a1 b1 a0 b0
3 a3 b3 a2 b2 a1 b1
4 a4 b4 a3 b3 a2 b2
5 a5 b5 a4 b4 a3 b3
6 a6 b6 a5 b5 a4 b4
7 a7 b7 a6 b6 a5 b5
8 a8 b8 a7 b7 a6 b6
9 a9 b9 a8 b8 a7 b7