<p>将<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.unstack.html" rel="nofollow noreferrer">^{<cd1>}</a>与选择列<code>SlabLT</code>一起使用:</p>
<pre><code>print (df['SlabLT'].unstack())
</code></pre>
<p>但是如果<code>MultiIndex</code>中可能的重复是必需的聚合列,例如<code>mean</code>:</p>
^{pr2}$
<p><strong>样本</strong>:</p>
<pre><code>df = pd.DataFrame({'date':['2017-10-01','2017-10-08','2017-10-08','2017-10-15', '2017-10-15'],
'SlabType':['UOM2','AMOUNT','UOM2','AMOUNT','AMOUNT'],
'SlabLT':[1,6000,1,6000,5000]}).set_index(['date','SlabType'])
print (df)
SlabLT
date SlabType
2017-10-01 UOM2 1
2017-10-08 AMOUNT 6000
UOM2 1
2017-10-15 AMOUNT 6000 <-duplicated MultiIndex '2017-10-15', 'AMOUNT'
AMOUNT 5000 <-duplicated MultiIndex '2017-10-15', 'AMOUNT'
print (df['SlabLT'].unstack())
</code></pre>
<blockquote>
<p>ValueError: Index contains duplicate entries, cannot reshape</p>
</blockquote>
<hr/>
<pre><code>print (df.groupby(level=[0,1])['SlabLT'].mean())
date SlabType
2017-10-01 UOM2 1
2017-10-08 AMOUNT 6000
UOM2 1
2017-10-15 AMOUNT 5500
Name: SlabLT, dtype: int64
print (df.groupby(level=[0,1])['SlabLT'].mean().unstack())
SlabType AMOUNT UOM2
date
2017-10-01 NaN 1.0
2017-10-08 6000.0 1.0
2017-10-15 5500.0 NaN
</code></pre>