То, что вы хотите сделать, - это разложить стек данных и изменить имя столбцов.
Вы можете сделать это, выполнив:
df.unstack()
.rename(columns = {
"2016Q1" : "Season 1",
"2016Q2" : "Season 2",
"2016Q3" : "Season 3",
})
Примеры можно найти надокументация о том, что делает unstack и как она это делает.Что касается метода rename , для преобразования ваших имен из чего-либо в другое требуется отображение.
Я не пытался заставить ваш пример работать, но я взял пример изРазблокируйте документацию выше.
index = pd.MultiIndex.from_tuples([('one', 'a'), ('one', 'b'),
('two', 'a'), ('two', 'b')])
df = pd.DataFrame( np.arange(1.0, 5.0), index=index, columns=['hi'])
print(df)
# hi
# one a 1.0
# b 2.0
# two a 3.0
# b 4.0
df = df.unstack(level = -1)
.rename(columns = {
"a" : "Season 1",
"b" : "Season 2"
})
print(df)
# hi
# Season 1 Season 2
# one 1.0 2.0
# two 3.0 4.0
Возможно, есть лучший способ обработать "hi" над вашим DataFrame, но вы можете просто select
его, и он исчезнет.
print( s['hi'] )
Season 1 Season 2
one 1.0 2.0
two 3.0 4.0