Переиндексировать вывод серии не соответствует примеру панд в документации - PullRequest
0 голосов
/ 01 мая 2018

У меня есть серия, подобная следующей.

In [53]: aStack
Out[53]: 
Age_cat  S0102_gender
_1       Male            167.047843
         Female          211.292291
         All             378.340134
_2       Male            132.055426
         Female          171.780338
         All             303.835764
All      Male            299.103269
         Female          383.072629
         All             682.175898
dtype: float64

In [54]: 

Я бы хотел преобразовать серию в нечто похожее на это.

In [53]: aStack
Out[53]: 
Age_cat  S0102_gender
_1       Male            167.047843
_1       Female          211.292291
_2       All             378.340134
_2       Male            132.055426
_2       Female          171.780338
_2       All             303.835764
All      Male            299.103269
All      Female          383.072629
All      All             682.175898

У меня есть список кортежей.

combos
Out[54]: 
[('_1', 'Male'),
 ('_1', 'Female'),
 ('_1', 'All'),
 ('_2', 'Male'),
 ('_2', 'Female'),
 ('_2', 'All'),
 ('All', 'Male'),
 ('All', 'Female'),
 ('All', 'All')]

Согласно документации. Если я бегу,

aStack.reindex(combos)

Я должен получить этот вывод. Однако, когда я запускаю инструкцию, я получаю тот же вывод, что и мой ввод. Чего мне не хватает?

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

Нашел рабочее решение. Немного другой синтаксис.

aStack = aStack.reset_index(level=[0,1])
0 голосов
/ 01 мая 2018

Ваш начальный ряд уже имеет MultiIndex, который не печатает крайние значения индекса (уровень 0) в каждой строке. Чтобы увидеть каждое значение индекса, повторенное вниз в каждой строке (для отображения и т. Д.), Попробуйте aStack.reset_index().

...