You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用style.applymap后Seaborn绘图报Styler无get属性如何解决

错误原因

设置DataFrame条件样式时,df1.style.applymap()返回的是Styler渲染对象,你直接将该对象赋值覆盖了原本存储DataFrame的df1变量。而sns.barplot的data参数要求传入pandas DataFrame类型,Styler对象不包含绘图逻辑所需的get属性,因此触发AttributeError。

解决方法

可根据你的使用场景二选一:

  • 方案1:将样式对象和原始DataFrame分开存储,避免变量覆盖
# 样式结果赋值给独立变量,不修改原df1
df1_styled = df1.style.applymap(lambda x: '' if x<50 else "background-color: darkgreen" ,subset=['%_pedido_centralizado','%_pedido_manual','%sum_pedido_manual_centralizado'])

# 绘图时仍传入原始DataFrame
f, ax = plt.subplots(figsize=(15, 7))
sns.barplot(x="MTRL_PROD_HIERCY_2", y='%sum_pedido_manual_centralizado', data=df1, ci=None, estimator=sum)
  • 方案2:如果已经覆盖了原始df1变量,可直接从Styler对象中提取原始DataFrame
f, ax = plt.subplots(figsize=(15, 7))
# 通过Styler的.data属性获取原始DataFrame传入绘图函数
sns.barplot(x="MTRL_PROD_HIERCY_2", y='%sum_pedido_manual_centralizado', data=df1.data, ci=None, estimator=sum)

内容的提问来源于stack exchange,提问作者Vivian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 02:09:02