簡體   English   中英

通過分類列進行單列拆分的seaborn小提琴圖

[英]seaborn violin plot for single column splitting by a categorical column

我有一個看起來像這樣的數據框:

    num_column    is_train
    30.75               1
    12.05               1 
    ..                 ..
    43.79               0         
    15.35               0              

我想使用小提琴圖查看num_column的分布, num_column小提琴的每一側(或拆分)顯示is_train列中我的兩個類別中的每一個的數據。

文檔中示例中,這是我能想到的:

import seaborn as sns
sns.violinplot(x=merged_data.loc[:,'num_column'], hue=merged_data.loc[:,'is_train'], split=True)

從這個結果來看,我可以看到參數huesplit根本沒有影響。 意思是小提琴的兩邊沒有分裂,我看不到任何傳說,所以我認為hue參數沒有影響。

我正在嘗試比較來自我的訓練和測試數據的列的分布。

您可以使用x=參數來創建多個小提琴。 當需要通過第三列進行微分時使用huesplit參數。

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

merged_data = pd.DataFrame({'num_column': 20 + np.random.randn(1000).cumsum(),
                            'is_train': np.repeat([0, 1], 500)})
sns.violinplot(data=merged_data, x='is_train', y='num_column')
plt.show()

示例圖

所述split=參數是與被用於hue -nesting,如果已經有一個其中僅可用於x=參數。 因此,您需要為x (兩個數據集的值應該相同)和hue (根據數據集編碼)提供列:

merged_data['dummy'] = 0
sns.violinplot(data=merged_data, y='num_column', split=True, hue='is_train', x='dummy')

在此處輸入圖片說明

暫無
暫無

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

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