我有一个数据帧,我想在其中绘制每列的直方图。在
df_play = pd.DataFrame({'a':['cat','dog','cat'],'b':['apple','orange','orange']})
df_play['a'] = df_play['a'].astype('category')
df_play['b'] = df_play['b'].astype('category')
df_play
df_play.hist(layout = (12,10))
但是我得到了ValueError: num must be 1 <= num <= 0, not 1
当我尝试在值中使用整数而不是category时,它工作得很好,但我确实希望唯一字符串的名称位于x轴上。在
由于没有用于binning的自然参数,也许您想要的不是直方图而是每个
Series
的value counts条形图?如果是这样,你可以通过我意识到这样做的一种方法是首先指定fig和axs,然后遍历我们想要绘制值计数的数据帧的列名。在
您只需在列和绘图之间应用
pd.value_counts
。在如果您想要合适的子批次或更复杂的东西,我建议您使用
value_counts
迭代并自己创建子批次。在相关问题 更多 >
编程相关推荐