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

如何在Pandas中移除日期索引的时间部分,设置纯日期索引

解决Pandas索引带时间部分的问题

要将DataFrame的索引设置为纯日期格式(无时间部分),可以通过以下几种方式实现:

方法一:直接转换为date类型后设索引

在pd.to_datetime转换字符串日期后,通过.dt.date提取纯日期部分,再设置为索引:

usd2inr_df.set_index(pd.to_datetime(usd2inr_df['Date']).dt.date, inplace=True)

生成的索引为datetime.date类型,显示格式为YYYY-MM-DD,不会包含时间部分。

方法二:先处理列再设索引

先将原Date列转换为纯日期格式,再设置为索引:

# 转换列格式为纯日期
usd2inr_df['Date'] = pd.to_datetime(usd2inr_df['Date']).dt.date
# 设置为索引
usd2inr_df.set_index('Date', inplace=True)

方法三:修改已有带时间的datetime索引

如果已经设置了包含时间的datetime索引,可以直接修改索引格式:

usd2inr_df.index = usd2inr_df.index.normalize().date

你尝试的代码存在两个问题:

  1. 列名大小写不匹配:原列是'Date',但set_index里写的是'date',Pandas会因找不到对应列报错;
  2. 缺少修改生效的逻辑:如果不加inplace=True,需要将结果重新赋值给usd2inr_df,否则原DataFrame不会被修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 03:24:27