迭代pandas列以获得countplot

esyap4oy  于 2023-03-21  发布在  其他
关注(0)|答案(1)|浏览(111)

我有一个896k行的数据集,格式如下:

Name    SM_Presence   TL_presence   LS_presence    VC    Eligible

Aaron      0              0           0            0       0
John       1              0           1            1       0
Alex       0              1           1            0       0
Steve      0              0           1            0       1

我必须为所有这些特征做计数图。
所以,我是这样做的:

lists = ['SM_Presence','TL_presence','LS_presence','VC','Eligible']
for i in lists:
    sns.countplot(x = i, data = df)
plt.show()

它只打印第一个功能的countplot,即。SM_presence,而不是打印其他图形..有人可以建议我如何一次打印所有图形..

fkaflof6

fkaflof61#

不要在for循环中渲染单独的图,而是使用pd.melt为所需的列构建一个countplot,它允许从宽格式到长格式的非旋转列。使用hue参数来区分/划分10之间的值:

sns.countplot(data=df.melt(id_vars='Name'), x='variable', hue='value')
plt.show()

相关问题