Python 熊猫,将日期从DDD MM/DD转换为YYYY-MM-DD
在“我的日期”列中,我的日期格式如下:Python 熊猫,将日期从DDD MM/DD转换为YYYY-MM-DD,python,pandas,Python,Pandas,在“我的日期”列中,我的日期格式如下:sat11/16。有没有办法将此列转换为yyyy-mm-dd? 预计输出将为2019-11-16 正在尝试d1['Date']=pd.to_datetime(d1['Date'].str.strip()+'/2019')但在ValueError:('Unknown string format:','Averages/2019')上出错。 这是我的数据集: 0 Mon 11/18 1 Sat 11/16 2 Wed 11/13 3
sat11/16
。有没有办法将此列转换为yyyy-mm-dd
?
预计输出将为2019-11-16
正在尝试d1['Date']=pd.to_datetime(d1['Date'].str.strip()+'/2019')
但在ValueError:('Unknown string format:','Averages/2019')上出错。
这是我的数据集:
0 Mon 11/18
1 Sat 11/16
2 Wed 11/13
3 Mon 11/11
4 Sun 11/10
5 Fri 11/8
6 Wed 11/6
7 Sat 11/2
8 november
9 Wed 10/30
10 Mon 10/28
11 Sat 10/26
12 october
13 Averages
14 Totals
15 Fri 10/18
16 Sun 10/13
17 Thu 10/10
18 Tue 10/8
19 Boston
20 W1
感谢您的任何帮助 在列中添加
/2019
,并使用pd.to\u datetime
。在添加之前执行额外的str.strip
,以清除任何空白
df['New_Date'] = pd.to_datetime(df['Date'].str.strip()+'/2019', errors='coerce')
Out[12]:
Date New_Date
0 Mon 11/18 2019-11-18
1 Sat 11/16 2019-11-16
2 Wed 11/13 2019-11-13
3 Mon 11/11 2019-11-11
4 Sun 11/10 2019-11-10
5 Fri 11/8 2019-11-08
6 Wed 11/6 2019-11-06
7 Sat 11/2 2019-11-02
8 november 2019-11-01
9 Wed 10/30 2019-10-30
10 Mon 10/28 2019-10-28
11 Sat 10/26 2019-10-26
12 october 2019-10-01
13 Averages NaT
14 Totals NaT
15 Fri 10/18 2019-10-18
16 Sun 10/13 2019-10-13
17 Thu 10/10 2019-10-10
18 Tue 10/8 2019-10-08
19 Boston NaT
20 W1 NaT
您的目的地将是什么?确切是哪一年。或者哪一年都不重要!你到目前为止试过什么?这没有意义,假设月份是11月,年份是2016年,那么这个月的哪个星期六?一个月有4个星期六。一年将是2019年,可能是一个静态的数字。您预期的输出日期是什么?你能回答我的评论吗,日期现在没有任何意义。嘿,安迪,我在非日期值上遇到了一个错误,有什么解决办法吗?使用
errors='concurve'
为这些行设置NaT
(它是NaN
版本的datetime
)。我编辑了答案。