Python 更改“我的列”的顺序以创建适合条形图的数据框

Python 更改“我的列”的顺序以创建适合条形图的数据框,python,pandas,bar-chart,Python,Pandas,Bar Chart,我有这个数据框(第一排有两个,真正的一个很大) 我想将此数据帧转换为下一个数据帧: dft p__Actinobacteriota 25 A p__Actinobacteriota 555 B p__Bacteroidota 31 A p__Bacteroidota 725 B 最简单的方法是什么?我假设您的数据帧是: pd.DataFrame([['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


最简单的方法是什么?

我假设您的数据帧是:

pd.DataFrame([['p__Actinobacteriota', 25, 555], ['p__Bacteroidota', 31, 752]])
打印为:

                     0   1    2
0  p__Actinobacteriota  25  555
1      p__Bacteroidota  31  752
很容易
堆叠
它:

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
                     0 level_1  val
0  p__Actinobacteriota       A   25
1  p__Actinobacteriota       B  555
2      p__Bacteroidota       A   31
3      p__Bacteroidota       B  752