首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >来自Pandas Dataframe的Seaborn小提琴图,每列都有自己的单独小提琴图

来自Pandas Dataframe的Seaborn小提琴图,每列都有自己的单独小提琴图
EN

Stack Overflow用户
提问于 2017-09-10 02:57:42
回答 2查看 10.9K关注 0票数 13

我有带结构的Pandas Dataframe:

代码语言:javascript
复制
   A  B
0  1  1
1  2  1
2  3  4
3  3  7
4  6  8

如何生成Seaborn小提琴曲线图,并将每一列作为单独的小提琴曲线图进行并排比较?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-10 03:04:06

可以先按melt对列中的组进行整形,然后再按seaborn.violinplot进行整形

代码语言:javascript
复制
#old version of pandas
#df = pd.melt(df, var_name='groups', value_name='vals')
df = df.melt(var_name='groups', value_name='vals')
print (df)
  groups  vals
0      A     1
1      A     2
2      A     3
3      A     3
4      A     6
5      B     1
6      B     1
7      B     4
8      B     7
9      B     8

ax = sns.violinplot(x="groups", y="vals", data=df)

票数 16
EN

Stack Overflow用户

发布于 2018-05-11 03:27:40

seaborn (至少是0.8.1版本;不确定这是否是新的)支持你想要的东西,而不会弄乱你的数据框架:

代码语言:javascript
复制
import pandas as pd
import seaborn as sns
df = pd.DataFrame({'A': [1, 2, 3, 3, 6], 'B': [1, 1, 4, 7, 8]})
sns.violinplot(data=df)

(请注意,您确实需要设置data=df;如果您只是将df作为第一个参数传入(相当于在函数调用中设置x=df ),它看起来就像是将列连接在一起,然后绘制所有数据的小提琴图)

票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46134113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档