在我的数据中,我有一个用于日期的列,此列包含日期,格式分别为19年2月1日和01-1-19
如果我正在使用此代码数据,则会出现错误
['Request date']=pd.to_date time(data['Request date'],format='%d-%b-%Y')
data ['Request date']=pd.to_date time(data['Request date'],format='%d-%b-%Y')
data['Requestdate']=pd.to_datetime(data['RequeDate'],format='%d/%b/%Y')
如何在一行命令中同时使用这两种格式。我该怎么办?
python熊猫
答案 0 :(得分:1)
如果两种格式的首位都是天,则可以添加dayfirst=True
参数:
data = pd.DataFrame({
'Request date' : ['02/1/19', '01-1-19'],
})
data['Request date'] = pd.to_datetime(data['Request date'], dayfirst=True)
print (data)
Request date
0 2019-01-02
1 2019-01-01
如果需要指定两种格式,请分别使用参数errors='coerce'
创建每个日期,并用Series.combine_first
一起创建日期:
date1 = pd.to_datetime(data['Request date'],format='%d-%m-%y', errors='coerce')
date2 = pd.to_datetime(data['Request date'],format='%d/%m/%y', errors='coerce')
data['Request date'] = date1.combine_first(date2)
print (data)
Request date
0 2019-01-02
1 2019-01-01