擅长:python、mysql、java
<p>使用上面EdChum的答案,我创建了以下函数</p>
<pre><code>def fill_missing_range(df, field, range_from, range_to, range_step=1, fill_with=0):
return df\
.merge(how='right', on=field,
right = pd.DataFrame({field:np.arange(range_from, range_to, range_step)}))\
.sort_values(by=field).reset_index().fillna(fill_with).drop(['index'], axis=1)
</code></pre>
<p>示例用法:</p>
<pre><code>fill_missing_range(df, 'A', 0.0, 4.5, 0.5, np.nan)
</code></pre>