Изменение порядка моих столбцов для создания фрейма данных, подходящего для барплота - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть этот фрейм данных (два первых ряда, реальный огромный)

df

p__Actinobacteriota 25 555
p__Bacteroidota 31 752

Я хотел бы преобразовать этот фрейм данных в следующий:

dft

p__Actinobacteriota 25 A
p__Actinobacteriota 555 B
p__Bacteroidota 31 A
p__Bacteroidota 725 B

Какой самый простой способ сделать это?

1 Ответ

1 голос
/ 28 апреля 2020

Я предполагаю, что ваш фрейм данных:

pd.DataFrame([['p__Actinobacteriota', 25, 555], ['p__Bacteroidota', 31, 752]])

, который печатается как:

                     0   1    2
0  p__Actinobacteriota  25  555
1      p__Bacteroidota  31  752

stack легко:

df.rename(columns={1:'A', 2:'B'}).set_index([0]).stack().rename('val').reset_index()

которые дают:

                     0 level_1  val
0  p__Actinobacteriota       A   25
1  p__Actinobacteriota       B  555
2      p__Bacteroidota       A   31
3      p__Bacteroidota       B  752
...