我有一个看起来像这样的熊猫数据框:
|Label |Metric A |Metric B |Category |
--------------------------------------------
|model 1 |0.9 |0.7 |Train |
|model 2 |0.87 |0.8 |Train |
|model 1 |0.78 |0.6 |Val |
|model 2 |0.6 |0.66 |Val |
并且我需要将其转换为如下形式:
| |Metric A |Metric B |
-------------------------------------
| |Train|Val |Train |Val |
--------------------------------------
|Model 1 | | | | |
|Model 2 | | | | |
(我希望你明白我的意思:D)
甚至有可能将pd数据帧转换成这种格式吗?
这是在科学的背景下,因此我需要将其包含在乳胶中(我知道有.to_latex()函数,但是我不知道如何将此数据框转换为所需的形状),也可以将其导出为图片,以便我可以插入。
(如果R中有解决方案,我也会对R有点熟悉)
任何帮助深表感谢!
干杯
斯文
答案 0 :(得分:2)
将DataFrame.set_index
与DataFrame.unstack
一起用于MultiIndex in columns
:
df1 = df.set_index(['Label','Category']).unstack()
或者,如果可能的话,可能会使用DataFrame.pivot_table
和{{3}}进行汇总,例如Label, Category
:
mean
df1 = df.pivot_table(index='Label',columns='Category', aggfunc='mean')