Dask dataframe просто отражает интерфейс панд.В этом случае вам нужен метод shift :
In [3]: import pandas as pd
In [4]: df = pd.DataFrame({'a': range(5)})
In [5]: import dask.dataframe as dd
In [6]: ddf = dd.from_pandas(df, npartitions=2)
In [7]: out = ddf.assign(prev_a=ddf.a.shift(1), next_a=ddf.a.shift(-1))
In [8]: out.compute()
Out[8]:
a prev_a next_a
0 0 NaN 1.0
1 1 0.0 2.0
2 2 1.0 3.0
3 3 2.0 4.0
4 4 3.0 NaN
Однако, если вы пытаетесь выровнять строки для выполнения какого-либо оконного или скользящего вычисления, вас может заинтересоватьв map_overlap , что было бы более производительным.