首页 > 解决方案 > 每个列数据框的分布概率,在一个图中

问题描述

我正在通过 seaborn 库 sns.distplot() 中的 distplot 为我的数据帧的每一列创建概率分布。对于一个情节我做

x = df['A']
sns.distplot(x);

我正在尝试使用 FacetGrid & Map 以这种方式一次为每列绘制所有图。但根本不起作用。

  g = sns.FacetGrid(df, col = 'A','B','C','D','E')
  g.map(sns.distplot())

标签: pandasvisualizationseaborn

解决方案


我认为您需要使用melt将数据框重塑为长格式,请参阅此 MVCE:

df = pd.DataFrame(np.random.random((100,5)), columns = list('ABCDE'))
dfm = df.melt(var_name='columns')
g = sns.FacetGrid(dfm, col='columns')
g = (g.map(sns.distplot, 'value'))

输出: 在此处输入图像描述


推荐阅读