为pandas数据框中的日期列选择正确的日期时间格式

时间:2017-04-24 02:13:55

标签: python pandas datetime

我的数据框 df1 如下所示:

id  date    value
0   C1  1/1/17  31
1   C1  1/2/17  35
2   C1  1/3/17  32
3   C1  1/6/17  36
4   C1  1/7/17  35
5   C1  1/8/17  34
6   C1  1/10/17 33
7   C2  1/1/17  225
8   C2  1/2/17  223
9   C2  1/3/17  223
10  C2  1/6/17  220
11  C2  1/7/17  222
12  C2  1/8/17  225
13  C2  1/10/17 224
14  C3  1/8/17  340

dtypes 如下:

id       object
date     object
value     int64
dtype: object

我正在尝试将日期列dtype转换为datetime:

  df1['date']= pd.to_datetime(df1['date'], format='%d%b%Y')

这失败了;

    ValueError: time data '1/1/17' does not match format '%d%b%Y' (match)

2 个答案:

答案 0 :(得分:0)

您可以使用不带参数的to_datetime

df1['date']= pd.to_datetime(df1['date'])
print (df1)
    id       date  value
0   C1 2017-01-01     31
1   C1 2017-01-02     35
2   C1 2017-01-03     32
3   C1 2017-01-06     36
4   C1 2017-01-07     35
5   C1 2017-01-08     34
6   C1 2017-01-10     33
7   C2 2017-01-01    225
8   C2 2017-01-02    223
9   C2 2017-01-03    223
10  C2 2017-01-06    220
11  C2 2017-01-07    222
12  C2 2017-01-08    225
13  C2 2017-01-10    224
14  C3 2017-01-08    340

答案 1 :(得分:-1)

这很好用:

    df1['date']= pd.to_datetime(df1['date'], format='%m/%d/%y')