如何从同一个pandas数据帧为所有不同的列生成单独的Seaborn kdeplots?

2024-10-01 17:22:44 发布

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

如何为pandas数据帧的所有列制作两个独立的Seaborn kdeplots:

  • 一个pandas数据帧(df),有六列(如下图所示):

df.columns = ["A", "B", "C", "D", "E", "F"]

我尝试了下面的代码,但是没有用。对下面的代码有什么提示吗?在

df = sns.load_dataset("df")
g = sns.FacetGrid(df)
g.map(s.skdeplot, "df.columns");

Tags: columns数据代码mappandasdfloadseaborn
2条回答

你的问题是:

ax(i) = sns.kdeplot(dftouse[column], c = colorUp(dftouse[column]))

ax(i)是一个函数调用。你想给它分配一些东西。这是不对的。在

我不熟悉matplotlib,只熟悉Python。也许你是说ax[i]?如果ax是数组或dict,那么这可能是正确的。在

我认为您需要使用pd.melt

df = pd.DataFrame({'id1' :np.random.randint(3,size=1000),
               'id2' :['ABC'[i] for i in np.random.randint(3,size=1000)],
               'val1':np.random.normal(loc=1, size=1000),
               'val2':np.random.normal(loc=2, size=1000),
               'val3':np.random.normal(loc=3, size=1000)})

g = sns.FacetGrid(pd.melt(df,
                      id_vars=['id1','id2'],
                      value_vars=['val1','val2','val3']),
              hue='id1',col='id2',row='variable')
g.map(sns.kdeplot,'value')

enter image description here

相关问题 更多 >

    热门问题