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

如何基于DataFrame的datetime索引新增年、月、日列?

解决方法

错误原因

你的DataFrame中date是普通列(从dfr.dtypes输出可确认它是datetime64[ns]类型的列),而非索引。当前默认索引是RangeIndex(整数序列),所以调用dfr.index.day会触发AttributeError——整数索引没有day属性。

两种可行方案

方案1:将date列设为索引后提取

先把date列设置为DataFrame的索引,再通过索引提取年、月、日:

# 设置date为索引
dfr = dfr.set_index('date')
# 新增年月日列
dfr['day'] = dfr.index.day
dfr['month'] = dfr.index.month
dfr['year'] = dfr.index.year

方案2:直接从date列提取(无需修改索引)

利用Pandas的dt访问器,直接从date列提取年、月、日:

# 从date列提取年月日并新增列
dfr['year'] = dfr['date'].dt.year
dfr['month'] = dfr['date'].dt.month
dfr['day'] = dfr['date'].dt.day

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 13:10:46