gpt4 book ai didi

python - Pandas 中多索引数据的多个箱线图

转载 作者:行者123 更新时间:2023-12-01 09:33:44 24 4
gpt4 key购买 nike

我的多索引 DataFrame 中的数据结构如下:

                    0      1
method metric
HASH L2_TCM 287 296
TOT_CYC 6211 6100
RECV L2_TCM 331 323
TOT_CYC 10881 7524
SYNTH L2_TCM 869 856
TOT_CYC 29117 29560

第 0 列和第 1 列表示每个方法-指标对的样本。为了说明目的,我展示了 2 个示例,但可能不止 2 个。

理想情况下,我想使用 pandas 创建一组数字,每个方法对应一个方法,其中包含使用样本的每个指标的箱线图。这听起来应该很简单,但我正在努力让分组正常工作。

任何有关如何绘制此图或重新配置 DataFrame 以简化绘图的建议将不胜感激。

预先感谢您的帮助!

我尝试过使用df.boxplot(by='method')作为起点,但失败并显示 KeyError 。基于this问题,我注意到.boxplot似乎期望数据列而不是行。我也同样尝试过使用 df.T.boxplot(by='method')但没有效果。

编辑:添加了我迄今为止尝试过的内容。

最佳答案

这是您要找的吗?

import pandas as pd
import seaborn as sns

'''
method metric 0 1
HASH L2_TCM 287 296
HASH TOT_CYC 6211 6100
RECV L2_TCM 331 323
RECV TOT_CYC 10881 7524
SYNTH L2_TCM 869 856
SYNTH TOT_CYC 29117 29560
'''

df = pd.read_clipboard()

# this is what your data looks like...
df.groupby([
'method',
'metric'
]).agg({
'0' : 'max',
'1' : 'max'
})

# I reshaped it to have no multiindex...


# And then melt the data to work with seaborn
df1 = df.melt(id_vars = [
'method',
'metric'
])

sns.boxplot(data = df1, x = 'method', y = 'value', hue = 'metric');

final

关于python - Pandas 中多索引数据的多个箱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49722225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com