我的数据框 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)
答案 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')