猿问

如何链接涉及“索引”操作的熊猫管道操作?

我在 Pandas 中进行绘图时遇到了以下 Pandas 链操作问题


import numpy as np

import pandas as pd

import seaborn as sns


n = 365

df = pd.DataFrame(data = {"A":np.random.randn(n), "B":np.random.randn(n)+1},

                  index=pd.date_range(start="2017-01-01", periods=n, freq="D"))


df1 = df.stack().reset_index().set_axis(['month','vars','vals'],axis=1,inplace=False).set_index('month',drop=True)


sns.boxplot(x=df1.index.month, y="vals", hue="vars", data=df1)

如何使用单个熊猫链操作来做到这一点?


我的尝试:(给出错误的图像输出)


(df.stack().reset_index().set_axis(['month','vars','vals'],axis=1,inplace=False)

 .set_index('month',drop=False)

 .pipe( (sns.boxplot, 'data'), x='month', y="vals", hue="vars"))

所需图片:

问题

如何在 ONE-LINER 中获得上面的图像?


慕森卡
浏览 135回答 1
1回答

SMILET

您是否想要这样的东西,使用 lambda 函数将数据帧传递给 sns.boxplot:(df.stack().reset_index().set_axis(['month','vars','vals'],axis=1,inplace=False)    .set_index('month',drop=False)    .pipe(lambda x: sns.boxplot(x=x.index.month, y="vals", hue="vars", data=x)))
随时随地看视频慕课网APP

相关分类

Python
我要回答