Python 使用带分组变量的seaborn线型图

Python 使用带分组变量的seaborn线型图,python,pandas,dataframe,seaborn,confidence-interval,Python,Pandas,Dataframe,Seaborn,Confidence Interval,我有一个熊猫数据框,看起来像这样 0 1 2 3 4 5 6 7 8 9 Group 0 0.0 0.0 0.0 12.5 12.5 0.0 0.0 12.5 0.0 12.5 1 1 0.0 12.5 12.5 12.5 0.0 0.0 0.0 0.0 12.5 12.5 1 2 37.5 37.5

我有一个熊猫数据框,看起来像这样

      0      1      2     3      4      5     6     7     8     9  Group
0   0.0    0.0    0.0  12.5   12.5    0.0   0.0  12.5   0.0  12.5      1
1   0.0   12.5   12.5  12.5    0.0    0.0   0.0   0.0  12.5  12.5      1
2  37.5   37.5   37.5   0.0   37.5   37.5  25.0  25.0  37.5  25.0      1
3  25.0   50.0   25.0  25.0   50.0   50.0  25.0   0.0  37.5  50.0      1
4  50.0   62.5   50.0  62.5   50.0   50.0  62.5  50.0  62.5  50.0      1
0  12.5   12.5    0.0   0.0   12.5   12.5   0.0   0.0  12.5   0.0      2
1   0.0    0.0   12.5  12.5    0.0   12.5   0.0   0.0  25.0  25.0      2
2  50.0   25.0   37.5  12.5   37.5   25.0  37.5  25.0  37.5  37.5      2
3  25.0   50.0   25.0  12.5   37.5   37.5  25.0   0.0  37.5  50.0      2
4  62.5   50.0   50.0  62.5   50.0   50.0  62.5  50.0  62.5  50.0      2
现在我也要用seaborn创建一个有两行的,一行基于组1,另一行基于组2。x值应该是行索引(0,1,2,3,4),y值应该是基于我的数据帧的每一行的均值+置信区间


我的问题是,我的数据格式与seaborn似乎需要的输入格式非常不同,而且我对数据帧没有经验,因此我不知道如何正确转换它。

我认为这就是您想要的:

draw_df = df.reset_index().melt(id_vars=['index', 'Group'], var_name='col')

# turn to string
draw_df['Group'] = draw_df.Group.astype(str)

# pass custom palette:
sns.lineplot(x='index', 
             y='value',
             hue='Group', 
             palette=['b','r'],
             data=draw_df)
输出:


小组做什么?我想在图表中画两个图。一个来自组=1的数据,另一个来自组=2的数据。计划是在seaborn.lineplot()函数中使用参数色调,并将其设置为我所称的“组”。
.astype('category')
也可用于删除无关的图例项。@BrendanCox谢谢,很高兴知道。但似乎还需要定制调色板。谢谢。最后,我将组重命名为0和1,而不是1和2:)是的,如果组名没有那么重要,这也是一个很好的技巧。