簡體   English   中英

每個分類變量的計數圖

[英]count plot for each categorical variable

我有一個如下的數據集,其中 Q1、Q2、Q3 是分類的。

  Q1,Q2,Q3
0    4,1,5
1    1,5,1
2    1,2,1
3    1,4,1
4    5,1,5

如何在一個圖中繪制每列的 x 軸,以及 y 作為每列值的計數。

樣品輸出

在此處輸入圖片說明

您可以在列上使用value_counts ,然后繪制:

# grouped by quartile
df.apply(pd.Series.value_counts).T.plot.bar()

按四分位數分組

# grouped by value
df.apply(pd.Series.value_counts).plot.bar()

按值分組

舊答案

僅使用 Pandas 的一種快速方法是:

df.groupby(level=0, axis=1).plot.bar()

但這對於顏色/布局來說並不靈活。

如果您想要一個不錯的輸出,請將您的數據seaborn.catplot重新處理為長格式並使用seaborn.catplot

import seaborn as sns
df2 = (df.unstack()
         .reset_index()
         .rename(columns={'level_0': 'quartile',
                          'level_1': 'index',
                          0: 'value'})
      )
sns.catplot(data=df2, col='quartile', x='index', y='value', kind='bar')

輸出: seaborn 貓圖

我使用了以下輸入:

   Q1  Q2  Q3
0   4   1   5
1   1   5   1
2   1   2   1
3   1   4   1
4   5   1   5

結合兩個答案:

import seaborn as sns
df2 = (df.apply(pd.Series.value_counts)
         .unstack()
         .reset_index()
         .rename(columns={'level_0': 'quartile',
                          'level_1': 'index',
                          0: 'counts'})
      )
sns.catplot(data=df2, col='quartile', x='index', y='counts', kind='bar')

結合 value_counts 和 seaborn

暫無
暫無

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

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