组成员:df.hist()组成员

如何使用group by使用DataFrame.hist()绘制直方图?
我有一个5列的数据框:“a”、“B”、“C”、“D”和“组”

课程分为两组:“是”和“否”

使用:

df.hist()

我得到了4列中每列的历史记录

现在,我想得到相同的4个图形,但带有蓝色条(group=“yes”)和红色条(group=“no”)

我尝试了这个,但没有成功:

df.hist(by=“group”)

使用Seaborn

如果您愿意使用Seaborn,则可以使用Seaborn.FaceGrid轻松绘制包含多个子地块和每个子地块内多个变量的绘图

将numpy作为np导入;np.随机种子(1)
作为pd进口熊猫
导入seaborn作为sns
将matplotlib.pyplot作为plt导入
df=pd.DataFrame(np.random.randn(300,4),columns=list("ABCD")
df[“group”]=np.random.choice([“yes”和“no”,p=[0.32,0.68],size=300)
df2=pd.melt(df,id'u vars='group',value'u vars=list("ABCD"),value'u name='value')
bin=np.linspace(df2.value.min(),df2.value.max(),10)
g=sns.FaceGrid(df2,col=“variable”,色调=“group”,调色板=“Set1”,col_wrap=2)
g、 映射(plt.hist,'value',bins=bins,ec=k)
g、 轴[-1]。图例()
plt.show()

发表评论