<Python, pandas> 縦にずらす。

縦にずらす。

In [22]: df = pd.DataFrame({'a':[1,2,3,4,5,6]})

In [23]: df
Out[23]: 
   a
0  1
1  2
2  3
3  4
4  5
5  6

In [24]: df.shift(-1)
Out[24]: 
     a
0  2.0
1  3.0
2  4.0
3  5.0
4  6.0
5  NaN

In [25]: df.shift(1)
Out[25]: 
     a
0  NaN
1  1.0
2  2.0
3  3.0
4  4.0
5  5.0

ふーん。

横にもずらせる。

In [26]: df = pd.DataFrame([[1,2,3],[4,5,6]])

In [27]: df
Out[27]: 
   0  1  2
0  1  2  3
1  4  5  6

In [28]: df.shift(-1,axis=1)
Out[28]: 
     0    1   2
0  2.0  3.0 NaN
1  5.0  6.0 NaN

In [29]: df.shift(-1,axis=0)
Out[29]: 
     0    1    2
0  4.0  5.0  6.0
1  NaN  NaN  NaN

なるへそ。

シフトshiftのマニュアル。

pandas.DataFrame.shift — pandas 0.19.2 documentation