Python中的比较箱线图

2024-04-16 08:57:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个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);

Tags: 数据pandasdatanamesseaborndatsns线图
1条回答
网友
1楼 · 发布于 2024-04-16 08:57:16

我想你可以这样画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)

以下是方框图:

enter image description here

参考文献:

  1. How to use Python Seaborn for Exploratory Data Analysis

相关问题 更多 >