gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 15:17:59 25 4
gpt4 key购买 nike

所有变量都是对象数据类型。我想将数据类型从对象转换为日期时间。

    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'],
})

我有 3 种不同的方法。首先,

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='coerce'(如果可能)一些错误数据,这些数据将转换为NaT(NaN for 日期时间):

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

如果仅最后一个值有拼写错误:

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

如上所述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

关于python - 对象到日期时间转换_从 mm/dd/yyyy 对象值类型转换为日期类型(python、pandas),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43725014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com