将 python 中索引的日期格式从 yyyy-dd-mm 更改为 yyyy-mm-dd
Change date format for an index in python from yyyy-dd-mm to yyyy-mm-dd
我有一个数据框,索引中包含日期,另一列包含这些日期的值。
我的索引当前是日期时间类型并且显示为 YYYY-dd-mm
,我希望它显示为 YYYY-mm-dd
搜索答案后,它将更改为 str,我将不得不将其更改回来。问题是,当列是索引时,我还没有看到有人这样做。
即我试过 df["Date"].dt.strftime('%Y%m%d')
但这不起作用,因为“日期”不是列而是索引
谢谢
a格式yyyy-dd-mm表示数据类型为字符串;你可以像
这样解析 to datetime and set index
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"))
我有一个数据框,索引中包含日期,另一列包含这些日期的值。
我的索引当前是日期时间类型并且显示为 YYYY-dd-mm
,我希望它显示为 YYYY-mm-dd
搜索答案后,它将更改为 str,我将不得不将其更改回来。问题是,当列是索引时,我还没有看到有人这样做。
即我试过 df["Date"].dt.strftime('%Y%m%d')
但这不起作用,因为“日期”不是列而是索引
谢谢
a格式yyyy-dd-mm表示数据类型为字符串;你可以像
这样解析 to datetime and set indeximport 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"))