在 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 轴中绘制多个布尔列的主要内容,如果未能解决你的问题,请参考以下文章

Python Pandas - 数据帧列中的查询和布尔值

如何通过 Google 图表 API 使用 X 轴中的日期?

flex 容器中的项目溢出 x 轴中的父元素

通过对数据框列中的值进行分组来绘制多个图?

在pyqt4中的Scatter绘图项x轴中使用时间

将日期显示为ggplotly图的x轴中的实际日期,而不是仅显示为月份[重复]