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

如何在Pandas中格式化日期?解决'Styler'对象不可下标错误

解决方法

问题原因

报错'Styler' object is not subscriptable说明你当前的final_df不是pandas DataFrame对象,而是Styler对象——这通常是你之前调用了.style方法对DataFrame做可视化格式化后得到的结果,Styler不支持用[]下标访问列。

步骤1:从Styler恢复原始DataFrame

先通过Styler的.data属性获取背后的原始DataFrame:

df = final_df.data

步骤2:正确转换日期格式

你之前的format='%Y-%m'参数错误,因为原始日期字符串包含时分秒和时区信息,不能直接用年月格式解析。正确做法是先将日期字符串解析为datetime类型,再转成年月格式:

方法一:转成字符串格式的年月(如"2003-01")

# 先解析日期(无需指定format,pandas会自动识别带时区的格式)
df['date'] = pd.to_datetime(df['date'])
# 转成年月字符串
df['date'] = df['date'].dt.strftime('%Y-%m')

方法二:转成Period类型(更适合时间序列操作)

如果后续还要做时间相关的计算,推荐转成Period类型:

df['date'] = pd.to_datetime(df['date']).dt.to_period('M')

验证结果

处理后你的DataFrame会变成:

date  USD
0  2003-01   40

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 14:21:02