将python中索引的日期格式从yyyy-dd-mm更改为yyyy-mm-dd
Posted
技术标签:
【中文标题】将python中索引的日期格式从yyyy-dd-mm更改为yyyy-mm-dd【英文标题】:Change date format for an index in python from yyyy-dd-mm to yyyy-mm-dd 【发布时间】:2021-09-29 17:27:14 【问题描述】:我有一个索引中包含日期的数据框和另一个包含这些日期值的列。
我的索引当前是日期时间类型,并显示为 YYYY-dd-mm
,我希望它显示为 YYYY-mm-dd
在搜索完答案后,它会变成一个 str,我必须把它改回来。麻烦的是,当列是索引时,我还没有看到有人这样做。
即我试过df["Date"].dt.strftime('%Y%m%d')
但这不起作用,因为“日期”不是列而是索引
谢谢
【问题讨论】:
【参考方案1】:格式yyyy-dd-mm表示数据类型为字符串;你可以解析to datetime和set indexlike
import pandas as pd
# dummy example
df = pd.DataFrame('v': [1,2], index=['2020-13-02', '2020-14-02'])
df = df.set_index(pd.to_datetime(df.index, format='%Y-%d-%m'))
# now you have:
# df
# v
# 2020-02-13 1
# 2020-02-14 2
请注意,这将为您提供datetime index。如果你想要字符串,使用
df = df.set_index(pd.to_datetime(df.index, format='%Y-%d-%m').strftime("%Y-%m-%d"))
【讨论】:
以上是关于将python中索引的日期格式从yyyy-dd-mm更改为yyyy-mm-dd的主要内容,如果未能解决你的问题,请参考以下文章
Python pandas数据框“日期”索引xlsx和csv中的不同格式