我有以下数据帧:
Group Exp1 Exp2 Exp3 Exp4 Exp5 Control
0 1 0.005556 -0.101111 0.052632 -0.055556 0.033333 y
1 2 -0.115684 0.076667 -0.349497 0.555556 0.555556 n
2 3 0.184444 0.251397 0.022222 -0.444444 0.611650 n
3 4 0.075556 0.237778 0.368750 0.098901 -0.111111 n
4 5 -0.186916 -0.355556 0.172414 0.087120 0.034737 y
5 6 0.250000 0.152542 -0.395349 0.111111 0.000000 n
6 7 -0.025014 0.030000 0.594444 0.055556 0.311111 n
7 8 -0.062500 0.123333 0.317778 0.144444 0.288889 n
8 9 0.001111 0.141111 0.181111 0.011111 0.435897 n
9 10 -0.124444 -0.074241 0.074444 -0.111111 0.133333 y
现在,典型的seaborn stripplot使用这些行来绘制不同的类别。 然而,我想让不同的类别成为专栏(不同的实验) 并在x轴上的实验标记上方垂直绘制每组和每个实验的10个值。 我如何做到这一点
删除不想打印的列,并将其余的传递给
data
:学习如何对@JohanC演示的长格式数据进行完整转换是一件好事,但了解如何利用wide-form data支持(如果它适合您想要做的事情)也是一件好事
Seaborn通常为works easiest with "long form" data,因此一列表示实验,另一列表示相应的值。Seaborn还接受某些类型的“宽”数据,以获得足够简单的结构化数据帧。在这种情况下,将“Group”列转换为索引就可以了
所以,它看起来像:
宽窗体不支持
hue
。在本例中(sns.stripplot(data=df.drop(columns=['Group', 'Control']), hue=df['Control'])
)给出了一个错误,指出当x
和y
未显式设置时hue
不受支持但是可以使用“长格式”。 Pandas^{} 将数据帧转换为所需的长格式:
数据帧的长格式如下所示:
相关问题 更多 >
编程相关推荐