将列数据类型更改为timedateform

2024-06-08 09:29:50 发布

您现在位置:Python中文网/ 问答频道 /正文

n我的数据中有一个日期列,此列包含格式为02/1/19和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熊猫


Tags: to数据代码命令formatdatadatetimedate
1条回答
网友
1楼 · 发布于 2024-06-08 09:29:50

如果两种格式都以天为第一位,则可以添加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'和jojn分别创建每个日期,并使用^{}

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

相关问题 更多 >