【问题标题】:Plot Multiple boolean columns in X - axis in Python在 Python 中的 X 轴中绘制多个布尔列
【发布时间】:2021-04-28 05:26:06
【问题描述】:

我有一个具有以下功能的数据框 (df3): 这些是接受营销活动的客户的详细信息。 1 表示接受,0 表示不接受

Customer ID AcceptedCmp1 AcceptedCmp2 AcceptedCmp3 Income Kidhome
123             1            0            0        3456   1 
456             0            1            0        5678   0 
786             1            1            1        6555   1
987             0            0            0        5444   1

我希望输出是这样的,显示接受度最高和最低的营销活动:

谢谢

【问题讨论】:

  • 请详细说明您的问题。问题中没有太多信息
  • 请检查更新的问题...
  • y轴有数值计数吗?
  • 是的,无论是计数还是百分比......

标签: python pandas matplotlib jupyter-notebook seaborn


【解决方案1】:

你可以使用它。 seaborn 的 Countplot 将计算列的值并绘制它,使用 pd.melt 绘制列。这里 x="variable" 和 hue="value" 来自 melted(pd.melt(df3)) df3。

import seaborn as sns
import pandas as pd
sns.countplot(x="variable", hue="value", data=pd.melt(df3))

【讨论】:

    【解决方案2】:

    我想这就是你要找的东西

    import pandas as pd
    import matplotlib.pyplot as plt
    import numpy as np
    
    zeros = [data[column].value_counts()[0] for column in data.columns]
    ones = [data[column].value_counts()[1] for column in data.columns]
    n = len(data.columns)
    plt.bar(np.arange(n)-0.1, zeros, width=0.2, label='0')
    plt.bar(np.arange(n)+0.1, ones, width=0.2, label='1')
    plt.xticks(np.arange(n), data.columns)
    plt.legend()
    plt.show()
    

    【讨论】:

    • KeyError: 0.0 .....我将数据更改为我的数据框名称但仍然出现此错误..
    • 还有其他列的值为 0 和 1 但我只想要 AcceptedCmp 列...
    • 定义一个新的数据框,只包含您想要绘制和运行的列
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 2017-10-09
    相关资源
    最近更新 更多