对象到日期时间转换-从mm/dd/yyyy对象值类型转换为日期类型(python、pandas)

2024-10-01 07:27:03 发布

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

所有变量都是object dtype。我想将数据类型从object转换为datetime。在

    df = pd.DataFrame(
                    {"ID":['A','B','C','D','E'],
                     "date":['4/12/2017','4/27/2017','4/28/2017','4/29/2017','4/210/2017'],
                     })

我有三种不同的方法。首先

^{pr2}$

这没有成功,给我一个值错误,说“时间数据'4/12/2017'与指定的格式不匹配”

其次

parse(exerciseCsv['mostRecentExerciseDate'], dayfirst=True)

第三

[datetime.strptime(x, '%m/%d/%Y') for x in exerciseCsv['mostRecentExerciseDate']]

所有这些都没有成功。这看起来是一个简单的任务,谁能帮我完成这个任务,并解释一下为什么这不起作用?在


Tags: 方法iddataframedfdatetimedateobject错误
1条回答
网友
1楼 · 发布于 2024-10-01 07:27:03

我认为您需要添加参数errors='coerce',如果可能的话,一些错误的数据被转换成NaTNaN表示{}):

df['date'] = pd.to_datetime(df['date'], errors='coerce')
print (df)
  ID       date
0  A 2017-04-12
1  B 2017-04-27
2  C 2017-04-28
3  D 2017-04-29
4  E        NaT

如果只键入最后一个值:

^{pr2}$

正如注释中提到的Stephen Rauch需要通过数据改变模式-添加/而不是{}:

df['date'] = pd.to_datetime(df['date'], format="%m/%d/%Y")
print (df)
  ID       date
0  A 2017-04-12
1  B 2017-04-27
2  C 2017-04-28
3  D 2017-04-29
4  E 2017-04-21

相关问题 更多 >