猿问

无法获取熊猫数据帧列之间的时间差

我有一个包含几列的大熊猫数据帧。其中两个是start_time和end_time。在这些列中,值如下所示 - 2020-01-04 01:38:33 +0000 UTC

我无法从这些字符串创建日期时间对象,因为我无法获得正确的格式 -

df['start_time'] = pd.to_datetime(df['start_time'], format="yyyy-MM-dd HH:mm:ss +0000 UTC")

我还尝试使用yy-MM-dd HH:mm:ss %z UTC作为格式

这给出了错误 -

ValueError: time data '2020-01-04 01:38:33 +0000 UTC' does not match format 'yyyy-MM-dd HH:mm:ss +0000 UTC' (match)


互换的青春
浏览 94回答 2
2回答

POPMUISE

您只需要使用正确的时间戳格式即可识别to_datetimedf['start_time'] = pd.to_datetime(df['start_time'], format="%Y-%m-%d %H:%M:%S +0000 UTC")

Qyouu

下面有一些关于此问题的说明:1. 关于您的错误这给出了错误 -您分析了错误的日期时间格式,这将导致错误。要获得正确的格式,请 https://strftime.org/ 选中此格式。此问题的正确格式为:"%Y-%m-%d %H:%M:%S %z UTC"2. 熊猫时区限制解析 UTC 时区为不适用于 pd。系列(它仅适用于索引值)。因此,如果您使用这个,它将不起作用:%zdf['startTime'] = pd.to_datetime(df.startTime, format="%Y-%m-%d %H:%M:%S %z UTC", utc=True)解决方案是使用python内置库来推断日期时间数据:from datetime import datetimef = lambda x: datetime.strptime(x, "%Y-%m-%d %H:%M:%S %z UTC")df['startTime'] = pd.to_datetime(df.startTime.apply(f), utc=True)@fmarm答案仅帮助您处理日期和时间数据,而不是UTC时区。
随时随地看视频慕课网APP

相关分类

Python
我要回答