擅长:python、mysql、java
<p>你可以做:</p>
<pre><code>xy = list(zip(df['x'], df['y']))
xy = [(np.nan, np.nan)]*2 + xy + [(np.nan, np.nan)]*2
df['seq'] = [xy[i:i+5] for i in range(len(df))]
</code></pre>
<p>df:</p>
<pre><code> x y
0 1 0
1 5 1
2 3 0
3 2 0
4 5 1
5 6 0
</code></pre>
<p>输出:</p>
<pre><code> x y seq
0 1 0 [(nan, nan), (nan, nan), (1, 0), (5, 1), (3, 0)]
1 5 1 [(nan, nan), (1, 0), (5, 1), (3, 0), (2, 0)]
2 3 0 [(1, 0), (5, 1), (3, 0), (2, 0), (5, 1)]
3 2 0 [(5, 1), (3, 0), (2, 0), (5, 1), (6, 0)]
4 5 1 [(3, 0), (2, 0), (5, 1), (6, 0), (nan, nan)]
5 6 0 [(2, 0), (5, 1), (6, 0), (nan, nan), (nan, nan)]
</code></pre>