擅长:python、mysql、java
<p>你很接近一个有效的解决方案!以下是@ALollz评论中的建议:</p>
<pre><code>for i in range(1, 7):
df[f'codeL{i}'] = df['location_level_2'].shift(i)
df[f'codeF{i}'] = df['location_level_2'].shift(-i)
</code></pre>
<p>注意,结构<code>f'codeL{i}</code>自动格式化范围内的整数。如果出于某种原因想单独创建变量,可以执行<code>new_var = 'codeL' + str(i)</code>。你知道吗</p>
<p>还要注意的是,没有理由对负数范围执行第二个循环,只需将负整数传递给<code>pd.shift</code>。你知道吗</p>