Я хочу создать индекс как часть многоуровневого индекса из данных, встроенных в имя столбца. Этот вопрос гораздо проще показать, чем описать. Это то, что выглядит мои исходные данные, как:Как создать многоуровневый индекс из имен столбцов?
d = {'time':[0,1,2], 'part_0_hits': [100,200,300], 'part_1_hits': [25,50,75]}
df = pd.DataFrame(d)
Я хочу создать новый индекс под названием «часть», которая имеет номера деталей, в именах столбцов. Результат должен выглядеть следующим образом:
d2 = {'time':[0,1,2,0,1,2], 'part':[0,0,0,1,1,1], 'hits':[100,200,300,25,50,75]}
df2 = pd.DataFrame(d2)
Я бы поставил таблицу здесь, но я не уверен, как это сделать разметку. Вот снимок моей IPython ноутбука с dataframes отображается:
Там должен быть элегантным способом сделать это, но я не могу найти его. Если я могу заставить его выглядеть так, как показано выше, я могу использовать set_index для создания многоуровневого индекса ...
Спасибо !!!
Замечательно! Это близко. Однако я должен был включить более сложную отправную точку. Мои реальные данные имеют много столбцов на каждую часть. Поэтому, если у меня есть part_0_hits, а также part_0_size вместе с part_1_hits и part_1_size для столбцов, могу ли я использовать pd.melt аналогичным образом? Еще раз спасибо! –
@Найти на улице, Он будет работать на любом количестве столбцов. После того, как вы выбрали переменную id (время в этом случае), расплав оставит остальную часть столбцов и возвратит переменную и значение – Vaishali