<p>用途:</p>
<ul>
<li>首先通过<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.unstack.html" rel="nofollow noreferrer">^{<cd1>}</a>重塑形状</li>
<li>按<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.reindex.html" rel="nofollow noreferrer">^{<cd2>}</a>添加错误天数</li>
<li>向前填充<code>ffill</code></li>
<li>用<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.fillna.html" rel="nofollow noreferrer">^{<cd5>}</a>替换第一个<code>NaN</code>s</li>
<li>按<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.stack.html" rel="nofollow noreferrer">^{<cd6>}</a>重塑形状</li>
<li><a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_index.html" rel="nofollow noreferrer">^{<cd7>}</a>表示预期输出</li>
</ul>
<hr/>
<pre><code>df = (test.set_index(['day', 'position'])
.unstack()
.reindex(range(1,6))
.ffill()
.fillna(0)
.stack()
.sort_index(level=[1,0]))
print (df)
value
day position
1 A 20.0
2 A 20.0
3 A 20.0
4 A 20.0
5 A 3.0
1 B 0.0
2 B 0.0
3 B 45.0
4 B 45.0
5 B 45.0
</code></pre>