<p>我试图在dataframe中生成一个新列,该列等于当前行索引减去用户最初选择的行的索引。假设我们有这个数据帧:</p>
<pre><code> A B C
0 foo bar
1 bar foo
2 foo bar
</code></pre>
<p>我们的用户选择了第1行。我希望C列的值为:</p>
^{pr2}$
<p>我已经知道这可以通过迭代数据帧来实现,方法如下:</p>
<pre><code>for index,row in df.iterrows():
df['C'].loc[index] = index - USER_SELECTED_INDEX
</code></pre>
<p>然而,这是非常缓慢的。事实上太慢了以至于不能工作。在</p>
<p>我的问题是,我如何使用数据框应用为了加快速度?如何将当前行的索引传递给正在应用的函数?我想做些类似的事情:</p>
<pre><code>def applyCol(index):
df['C'].loc[index] = index - USER_SELECTED_INDEX
df['C'] = df.apply(applyCol, axis=1)
</code></pre>