Python 如何在Seaborn中绘制Pandas.groupby()对象-使用方法链接

Python 如何在Seaborn中绘制Pandas.groupby()对象-使用方法链接,python,pandas,method-chaining,Python,Pandas,Method Chaining,对于如何将Pandas.groupby()对象导入Seaborn的任何建议,我都将不胜感激 我正试图绘制.groupby()对象,但它给了我一条错误消息: ValueError:如果使用所有标量值,则必须传递索引 gapminder.\ groupby('year').\ agg({'pop' : ['sum'], 'lifeExp' : ['mean']}).\ reset_index().\ pipe((sns.relplot, "data"

对于如何将Pandas.groupby()对象导入Seaborn的任何建议,我都将不胜感激

我正试图绘制.groupby()对象,但它给了我一条错误消息: ValueError:如果使用所有标量值,则必须传递索引

gapminder.\
    groupby('year').\
    agg({'pop' : ['sum'],
         'lifeExp' : ['mean']}).\
    reset_index().\
    pipe((sns.relplot, "data"), x = "pop", y = "lifeExp", kind = "scatter").\
    set(xscale = "log")
plt.show()

传递lambda,然后您可以随意调用函数:

.pipe(lambda d: sns.relplot(data=d, x="pop", y="lifeExp", kind="scatter"))

其中,
d
表示数据帧,作为唯一的参数传递给
.pipe

传递lambda,然后您可以随意调用函数:

.pipe(lambda d: sns.relplot(data=d, x="pop", y="lifeExp", kind="scatter"))

其中,
d
表示您的数据帧,作为唯一的参数传递给
.pipe

版本0.25中Pandas添加了一个新功能“命名聚合with.groupby()”,这有助于回答这个问题。这允许通过.agg()函数创建变量,并将其输出到具有统一索引的整洁数据框中,与Pandas中的多索引groupby对象不同版本0.25中Pandas中添加的一个新功能“命名聚合with.groupby()”有助于回答此问题。这允许通过.agg()函数创建变量,并将其输出到具有统一索引的整洁数据框中,而不是
(sns.relplot,“data”)
部分中的多索引groupby对象。这对你有用吗?是的,你相信吗。对我来说,最大的发现是Pandas最近更新的命名聚合——使用它,然后重置索引,这样它就可以识别变量标签,然后通过seaborn代码进行传递。我尝试使用Seaborn,比如GGplot2,所以我只使用catplot或RELPROOT,然后指定“种类”。但是效果很好
(sns.relplot,“data”)
部分似乎不起作用。这对你有用吗?是的,你相信吗。对我来说,最大的发现是Pandas最近更新的命名聚合——使用它,然后重置索引,这样它就可以识别变量标签,然后通过seaborn代码进行传递。我尝试使用Seaborn,比如GGplot2,所以我只使用catplot或RELPROOT,然后指定“种类”。但效果很好