我有一个看起来像这样的 Pandas DataFrame。

      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 的 grouped lineplot,一个基于第 1 组,另一个基于第 2 组。 x 值应该是行索引 (0,1,2,3,4) 和 y -values 应该是基于我的 DataFrame 每一行的均值 + 置信区间。

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

最佳答案

我认为这就是你想要的:

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)

输出:

python - 使用带有分组变量的 seaborn 线图-LMLPHP

关于python - 使用带有分组变量的 seaborn 线图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57012286/

10-16 02:40