根据数据框列中的值绘制直方图

时间:2019-04-23 12:47:11

标签: python dataframe plot histogram

我有一个像这样的数据集:

Result    test_value  File_id
Ok         2231         3
Ok         3322         32
No         1000          1
ok         4300          45
No         3999          ...

这是一个数据框。我正试图为此绘制一个直方图,以查看多少个值是好的,有几个值是否。

我做到了: plot_test=data['value'].hist(by=data['Result'],sharex=True,bins=10)我得到2个地块,

1个图表示否,1个图表示确定。

enter image description here

我只希望看到1个直方图,其中Ok值为,而No值为2种不同的颜色。

2 个答案:

答案 0 :(得分:0)

您可以使用seaborn来完成此任务。您只需要用所需的行调用distplot

请参见下面的代码

import seaborn as sns

sns.distplot( df.loc[df['Result'] == 'Ok']['Value'] , color="skyblue", label="Ok")
sns.distplot( df.loc[df['Result'] == 'No']['Value'] , color="red", label="No");

使用您发布的示例数据,运行此代码将生成如下图,

sns.distplot(df.loc[df['Result'] == 'Ok']['test_value'])
sns.distplot(df.loc[df['Result'] == 'No']['test_value']);

enter image description here

df.dtypes为示例

Result        object
test_value     int64
File_id       object
dtype: object

答案 1 :(得分:0)

您可以将'Result'设置为hue

import seaborn as sns
sns.countplot(x='test_value', hue='Result',data=data)