我如何使用seaborn或matplotlib在python中绘制分类特征与分类值

时间:2019-09-07 00:42:03

标签: python matplotlib seaborn

我该如何绘制包含男性和女性值的分类特征的条形图到包含二进制值(如0和1)的另一列,以使x轴包含男性和女性,而y轴包含0和1对应的值数在y轴上为男性和女性。

1   Male     0
2   Male     1
3   Female   1
4   Male     0
5   Female   0 
6   Female   1
7   Female   1

1 个答案:

答案 0 :(得分:0)

import matplotlib.pyplot as plt
import pandas as pd
import matplotlib

df=pd.DataFrame()
#dummy data
df['Sex']=['male','male', 'male', 'female', 'female', 'male', 'female']
df['Value']=[1,1,1,0,1,0,1]

print df

df=(df.groupby(['Sex','Value'])['Sex'].count())

df.unstack().plot.bar(stacked=True)

哪个给:

stacked bar

df.unstack().plot.bar(stacked=False)

哪个给:

unstacked bar

对于单杠,请使用barh()例如:

df.unstack().plot.barh(stacked=False)

enter image description here