回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在尝试重新索引一个多索引熊猫系列使用元组列表。该系列的结构如下</p>
<pre><code>(Pdb) object
respondent brand
0 Asda 6
1 Tesco 7
2 Asda 9
3 Aldi 2
4 Asda 4
Name: rating, dtype: int64
</code></pre>
<p>多指标结构如下</p>
<pre><code>(Pdb) obj.index
MultiIndex(levels=[[0, 1, 2, 3, 4], [u'Aldi', u'Asda', u'Tesco']],
labels=[[0, 1, 2, 3, 4], [1, 2, 1, 0, 1]],
names=[u'respondent', u'brand'])
</code></pre>
<p>在我做了如下的重新索引之后</p>
<pre><code>indexes = [(0, u'Asda'), (0, u'Tesco'), (0, u'Aldi'), (0, u'pick'), (1, u'Asda'), (1, u'Tesco'), (1, u'Aldi'), (1, u'pick'), (2, u'Asda'), (2, u'Tesco'), (2, u'Aldi'), (2, u'pick'), (3, u'Asda'), (3, u'Tesco'), (3, u'Aldi'), (3, u'pick'), (4, u'Asda'), (4, u'Tesco'), (4, u'Aldi'), (4, u'pick')]
obj.reindex(index=indexes, fill_value=default)
</code></pre>
<p>结果是</p>
<pre><code>0 Asda 6
Tesco 0
Aldi 0
pick 0
1 Asda 0
Tesco 7
Aldi 0
pick 0
2 Asda 9
Tesco 0
Aldi 0
pick 0
3 Asda 0
Tesco 0
Aldi 2
pick 0
4 Asda 4
Tesco 0
Aldi 0
pick 0
</code></pre>
<p>现在,多重索引</p>
<pre><code>MultiIndex(levels=[[0, 1, 2, 3, 4], [u'Aldi', u'Asda', u'Tesco', u'pick']],
labels=[[0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4], [1, 2, 0, 3, 1, 2, 0, 3, 1, 2, 0, 3, 1, 2, 0, 3, 1, 2, 0, 3]])
</code></pre>
<p>这是一个问题,因为索引名已被删除。有什么办法可以防止这种情况发生吗?怎么能修好呢?你知道吗</p>