在 Python 中的 X 轴中绘制多个布尔列
Posted
技术标签:
【中文标题】在 Python 中的 X 轴中绘制多个布尔列【英文标题】:Plot Multiple boolean columns in X - axis in Python 【发布时间】: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轴有数值计数吗? 是的,无论是计数还是百分比...... 【参考方案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 列... 定义一个新的数据框,只包含您想要绘制和运行的列以上是关于在 Python 中的 X 轴中绘制多个布尔列的主要内容,如果未能解决你的问题,请参考以下文章