Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对象到日期时间转换\从mm/dd/yyyy对象值类型转换为日期类型(python,pandas)_Python_Pandas_Datetime_Type Conversion - Fatal编程技术网

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

对象到日期时间转换\从mm/dd/yyyy对象值类型转换为日期类型(python,pandas),python,pandas,datetime,type-conversion,Python,Pandas,Datetime,Type Conversion,所有变量都是对象数据类型。我想将数据类型从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'], }) 我有三种不同的方法。首先, df['date

所有变量都是对象数据类型。我想将数据类型从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'],
                     })
我有三种不同的方法。首先,

df['date'] = pd.to_datetime(df['date'], format="%m-%d-%Y")
这不起作用,给我一个值错误,表示“时间数据'4/12/2017'与指定的格式不匹配”

第二,

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

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

所有这些都没有奏效。这看起来是一项简单的任务,谁能帮我完成这项任务,并向我解释为什么这项任务不起作用

如果可能,我认为您需要添加参数
errors='concurve'
,将一些坏数据转换为
NaT
NaN
用于
datetime
):

如果仅键入最后一个值:

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

df['date'] = pd.to_datetime(df['date'])
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
如注释中所述,需要按数据更改模式-添加
/
,而不是
-

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

pd.to_datetime(df['date'],format=“%m/%d/%Y”)
非常有用!非常感谢,耶斯雷格勒能帮你。
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