Python 如何为同一数据帧中的所有不同列制作单独的Seaborn KDeplot?

Python 如何为同一数据帧中的所有不同列制作单独的Seaborn KDeplot?,python,pandas,matplotlib,subplot,seaborn,Python,Pandas,Matplotlib,Subplot,Seaborn,如何为熊猫数据帧的所有列创建两个单独的Seaborn KDeplot: 具有六列的数据帧(df)(如下所示): df.columns=[“A”、“B”、“C”、“D”、“E”、“F”] 我尝试了以下代码,但没有成功。下面的代码有什么提示吗 df = sns.load_dataset("df") g = sns.FacetGrid(df) g.map(s.skdeplot, "df.columns"); 你的问题是: ax(i) = sns.kdeplot(dftouse[column],

如何为熊猫数据帧的所有列创建两个单独的Seaborn KDeplot:

  • 具有六列的数据帧(
    df
    )(如下所示):
df.columns=[“A”、“B”、“C”、“D”、“E”、“F”]

我尝试了以下代码,但没有成功。下面的代码有什么提示吗

df = sns.load_dataset("df")
g = sns.FacetGrid(df)
g.map(s.skdeplot, "df.columns");
你的问题是:

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')

在示例中添加代码,从头开始生成数据帧(例如,不读取任何文件)。KDE(几乎)是连续计算,您所说的“0.5以下的点”是什么意思。你想让KDE阈值上下部分的颜色不同吗?@PaulH。把问题改了一点。请看上面。希望您能提供帮助。
df=sns.load\u数据集(“df”)
正在抛出错误。你能让你的例子从头开始重现吗?稍微改变了一下问题。请看上面。希望您能提供帮助。在引号中有
df.columns
,这似乎很奇怪,但我对该软件包不太熟悉。。(另外,你完全改变了问题。如果我的评论有帮助,那么礼貌的做法可能是给我一张赞成票或一张信用卡,让我回答这个问题,然后用不同的思路问一个不同的问题。毕竟,我在努力建立一些声誉。)