回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个DataFrame,我需要将一列转换为多列,然后创建另一列来索引/标记新/多列的值</p>
<pre class="lang-py prettyprint-override"><code>import pandas as pd
df = pd.DataFrame({'state':['AK','AK','AK','AK','AL','AL','AL','AL'], 'county':['Cnty1','Cnty1','Cnty2','Cnty2','Cnty3','Cnty3','Cnty4','Cnty4'],
'year':['2000','2001','2000','2001','2000','2001','2000','2001'], 'count1':[5,7,4,8,9,1,0,1], 'count2':[8,1,4,6,7,3,8,5]})
</code></pre>
<p><a href="https://i.stack.imgur.com/m6wxR.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/m6wxR.png" alt="enter image description here"/></a></p>
<p>使用<code>pivot_table()</code>和<code>reset_index()</code>我可以将year的值移动到各个列中,但不能按其他列进行聚合</p>
<p>使用:
pivotDF=pd.pivot\u表(df,索引=['state','county','columns='year')
pivotDF=pivotDF.reset\u index()</p>
<p>让我靠近,但不是我需要的</p>
<p>我需要的是,另一个列标记count1和count2,在year列中有值。像这样的东西:</p>
<p><a href="https://i.stack.imgur.com/d7zXV.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/d7zXV.png" alt="enter image description here"/></a></p>
<p>我知道一个DataFrame会把“state”和“county”的所有值都填好,这很好,但是我要把它输出到Excel,并且需要它看起来像这样,所以如果有办法使用这种格式,那将是一个额外的好处</p>
<p>非常感谢</p>