我在 Pandas 中进行绘图时遇到了以下 Pandas 链操作问题import numpy as npimport pandas as pdimport seaborn as snsn = 365df = 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 中获得上面的图像?
1 回答
SMILET
TA贡献1796条经验 获得超4个赞
您是否想要这样的东西,使用 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)))
添加回答
举报
0/150
提交
取消