在Python中以X轴打印多个布尔列

2024-04-25 19:31:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧(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

我希望输出结果如下所示,以最高和最低接受度显示营销活动:

谢谢 enter image description here


Tags: 数据功能id客户详细信息customerincomedf3
2条回答

你可以用这个。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))

enter image description here

我想这就是你要找的

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()

enter image description here

相关问题 更多 >