轮廓重叠的每个df列的直方图

时间:2019-01-31 04:17:37

标签: python pandas matplotlib histogram

我在创建一组直方图时遇到了一些麻烦。我有一个10列的pandas数据框。最后一列是二进制。我想将前9列显示为直方图。现在,我有df.hist()将所有10个直方图显示为一组,这很好。

但是我想进一步定制它。例如,对于我的数据帧中的第1列,我希望其直方图覆盖第10列== 0的分布顶部的第10列== 1的分布。此二进制第10列实质上是9列中每个图例直方图。我还只想显示直方图轮廓(不填充),以便可以看到两个分布彼此重叠(红色代表1,绿色代表0)。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

以下内容可能对您有用

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=3, ncols=3)

for ind, col in enumerate(df.columns):
    df[col].hist(ax=axes[ind % 3, int(ind / 3)])

您可以使用df.columns或者你可以遍历要列清单。