Python / Pandas更改date_range索引的日期格式

时间:2016-11-01 14:13:09

标签: python datetime pandas

我正在运行一个脚本( script 1 )来创建一个空数据框,该数据框由另一个脚本( script 2 )填充。此空数据框中的索引是从2016年10月1日开始的365天内30分钟间隔的时间序列。要创建此时间序列索引,脚本1 包含以下代码:

time_period_start = dt.datetime(2016,01,10).strftime("%Y-%d-%m")
index = pd.date_range(time_period_start, freq='30min', periods=17520)

脚本2 从CSV文件中提取数据,其中包含时间序列中的值。该脚本的计划是将此数据放入数据框中,然后将其与脚本1 中创建的数据框合并。

我遇到的问题是在脚本2 中创建的数据框中的日期格式是Y-D-M,它是CSV文件中的内容。但是,脚本1 中创建的数据框中的日期格式为Y-M-D,当我尝试合并时会导致错误的结果。尽管我在上面的第一行代码中使用了“.strftime(”%Y-%d-%m“)”,但这甚至是这样。有没有办法修改第二行代码,以便输出数据帧在Y-D-M中?

1 个答案:

答案 0 :(得分:1)

.strftime()不会影响最终的数据框,因为pd.date_range无论如何都会将其转换回datetime。您应该将第二个数据框中的日期(脚本2创建的日期)转换为datetime,而不是尝试匹配字符串。

df2.date = pd.to_datetime(df2.date, format='%Y-%d-%m')