Python 重新索引层次索引数据帧的子级

Python 重新索引层次索引数据帧的子级,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个层次索引框架。“句子id”是“单词id”的父索引,“单词id”是指句子中单词的索引 >>> df pos word sentence_id word_id 1 2 NNP Red 3 NN List 4 IN of

我有一个层次索引框架。“句子id”是“单词id”的父索引,“单词id”是指句子中单词的索引

>>> df
                     pos        word
sentence_id word_id                 
1           2        NNP         Red
            3         NN        List
            4         IN          of
            5        NNP  Threatened
            6        NNP     Species
在每个句子中,单词_id应该是连续的整数0,1,2,3,。。。但事实并非如此,因为有些词是从句子中删掉的。如何使用df.reindex重新索引每个句子中的子索引“word\u id”,而不修改“句子id”? i、 e.上面的数据框如何变成:

>>> df
                     pos        word
sentence_id word_id                 
1           0        NNP         Red
            1         NN        List
            2         IN          of
            3        NNP  Threatened
            4        NNP     Species
我尝试的是: 我尝试了df.reindex(),但是“word\u id”没有任何变化

>>> df.reindex()
                     pos        word
sentence_id word_id                 
1           2        NNP         Red
            3         NN        List
            4         IN          of
            5        NNP  Threatened
            6        NNP     Species

为索引级别为0的每组创建具有计数的新列,并替换索引级别1

df = df.reset_index(level=1, drop=True)
df['word_id'] = df.groupby(level='sentence_id').cumcount()
df.set_index('word_id', append=True)

                     pos        word
sentence_id word_id                 
1           0        NNP         Red
            1         NN        List
            2         IN          of
            3        NNP  Threatened
            4        NNP     Species

为索引级别为0的每组创建具有计数的新列,并替换索引级别1

df = df.reset_index(level=1, drop=True)
df['word_id'] = df.groupby(level='sentence_id').cumcount()
df.set_index('word_id', append=True)

                     pos        word
sentence_id word_id                 
1           0        NNP         Red
            1         NN        List
            2         IN          of
            3        NNP  Threatened
            4        NNP     Species