擅长:python、mysql、java
<p>我会稍微修改一下:</p>
<pre><code>df['Values2'] = df['Values']
df.ix[df.Values2.isnull(), 'Values2'] = (Y1 - slope)
</code></pre>
<p><strong>编辑</p>
<p>或者试着把这个放在下面这样的循环中。这将递归地填充所有值,直到到达序列的末尾:</p>
<pre><code>def fix_rec(series):
Y1 = series.min()
X1ID = series.idxmin() ##; print(X1ID)
Y2 = series.max()
X2ID = series.idxmax()
slope = (Y2 - Y1) / (X2ID - X1ID);
if X1ID == 0: ## termination condition
return series
series.loc[X1ID-1] = Y1 - slope
return fix_rec(series)
</code></pre>
<p>这样称呼:</p>
<pre><code>df['values2'] = df['values']
fix_rec(df.values2)
</code></pre>
<p>我希望这有帮助!你知道吗</p>