簡體   English   中英

Seaborn swarmplot的分組數據幀

[英]Seaborn swarmplot of grouped dataframe

當我有一個數據幀時喜歡這里:

import pandas as pd
import seaborn as sns
import random

random.seed(0)

df = pd.DataFrame({"Data":[random.random() for i in range(100)], "Cluster":[random.randint(0,10) for i in range(100)]})

我可以很容易地用seaborn繪制簇作為箱線圖:

sns.boxplot(df["Data"], groupby=df["Cluster"])

這給了我這樣的東西: 在此輸入圖像描述

不幸的是,seaborn swarmplot沒有groupby關鍵字。 那么,我怎樣才能將這個數據框架作為分組的swarmplots? 我想要的只是用swarmplots而不是boxplots顯示的相同數字。 我玩了groupby對象本身:

df.groupby(by="Cluster")

到目前為止,我無法說服seaborn接受它。

我不認為你需要groupby - 你只想將集群指定為x值,將數據指定為y:

sns.swarmplot(data=df, x="Cluster", y="Data")

給你:

在seaborn的群體情節

但是,如果你有另一個類別,你想要着色,例如

df = pd.DataFrame({"Data":[random.random() for _ in range(100)],
                   "Cluster":[random.randint(0,10) for _ in range(100)],
                   "Category": [random.choice(("A", "B")) for _ in range(100)]})

然后你可以像這樣使用hue參數:

sns.swarmplot(data=df, x="Cluster", y="Data", hue="Category")

得到:

與類別的群體情節

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM