【问题标题】:Comparative Boxplot in PythonPython中的比较箱线图
【发布时间】:2020-09-09 18:51:38
【问题描述】:

我有一个类似于以下的pandas 数据框

names   
x     3.5
x     3.7
z     2.8
x     3.4
y     3.25
z     2.9
...

我希望制作一个比较箱线图(xyz 中的每一个相邻的三个箱线图。我正在使用seaborn 包,我只能得到一个所有值组合的箱线图。我做错了什么?

b = sns.boxplot(data = dat);

【问题讨论】:

  • 是数据框还是系列?
  • 这是一个数据框。我还有其他专栏@QuangHoang
  • namesx,y,z 的列也是如此,数字的列名称是什么?
  • this example from the docssns.boxplot(x='names', y='values', data=dat)

标签: python pandas seaborn boxplot


【解决方案1】:

我想你可以这样画side by side boxplot

import pandas as pd
import seaborn as sns
from io import StringIO
data = """
names,num
x,3.5
x,3.7
z,2.8
x,3.4
y,3.25
z,2.9
"""
df = pd.read_csv(StringIO(data), header=0)
to_replace = {0:'x', 1:'y', 2:'z'}
df['names'] = df['names'].replace(to_replace=to_replace)
order = ["x", "y", "z"]
sns.boxplot(x="names", y="num", data=df, order=order)

这是箱线图:

参考:

  1. How to use Python Seaborn for Exploratory Data Analysis

【讨论】:

    猜你喜欢
    • 2021-10-29
    • 2014-08-23
    • 1970-01-01
    • 2021-06-12
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 1970-01-01
    相关资源
    最近更新 更多