如何从数据位于列表中的数据框中创建箱线图

问题描述 投票:0回答:1

考虑一个数据框:

df = pd.DataFrame({'info':['1a','1b','1a','1b','1a','1b'],'list1': np.random.randint(0, 10, (6,15)).tolist()},index=list('AABBCC'))

print(df)

我希望能够创建一个

boxplot
(最好使用
seaborn
),并将“色调”应用于“信息”列,以便每个索引A的框(或
boxenplot
)图, B、C 彼此相邻 - 在
size plt.figure(figsize=X,Y)
的单个图中。

我熟悉从

dataframe
进行绘图,其中每列有单个值。然而,当有一个列表时,我很难雄辩地绘制它。

python pandas seaborn boxplot
1个回答
0
投票

在使用

explode
之前,您需要将
list1 将您的 seaborn.boxplot
 系列转换成
长或“整齐”的数据

from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns


df = pd.DataFrame(
    data={
        "info": ["1a", "1b", "1a", "1b", "1a", "1b"],
        "list1": np.random.randint(0, 10, (6, 15)).tolist(),
    },
    index=list("AABBCC"),
)
df = df.explode(column="list1")
sns.boxplot(data=df, x=df.index, y="list1", hue="info")
plt.show()

boxplot

© www.soinside.com 2019 - 2024. All rights reserved.