如何更改数据框列中的日期格式。

时间:2015-11-18 08:34:53

标签: time-series python date

我在DataFrame中有一个日期为yyyymmdd格式的列,我需要将其永久更改为yyyy-mm-dd。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

根据您在评论中提供的信息,由于列dtype为yyyy-mm-dd,因此列值不能采用int64格式。

您可以将列dtype更改为str,但数据不会有用(即您无法对其进行任何日期计算,但{{1 }},<应该仍然可以工作,但按字典顺序排列)。如果这仍然是你想要的,并假设>是数据框,日期列名称是df

date

更好的方法是使用实​​际日期dtype:

def format_date_col(x):
    x = str(x)
    return '-'.join([x[:4], x[4:6], x[6:]])

    # or maybe like that for better readability:
    x = str(x)
    return '{year}-{month}-{day}'.format(year=x[:4], month=x[4:6], day=x[6:])

df['date'] = df['date'].apply(format_date_col)