如何处理偏移量超出可接受范围的时间戳字段

2024-09-27 21:23:35 发布

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

我在数据帧中有一个字段,偏移量为ISO时间:

pages[['dimension1', 'dimension3']].head()
               dimension1                     dimension3
  1572461291083.sanyrqy8   2019-10-30T14:45:42.71-04:00

除了一些在24小时外有一个偏移外,大多数的行都很好。你知道吗

x = pd.to_datetime(pages.dimension3)

ValueError: offset must be a timedelta strictly between -timedelta(hours=24) and timedelta(hours=24).

以下是导致此错误的恶意数据点的示例:

2019-11-11T07:08:09.640-31:00

我当前的任务不是解决数据为什么以这种方式存在,而是简单地将原始数据放入Postgres。你知道吗

在使用to_datetime()时,是否有某种if-else逻辑可以告诉pandas偏移量是否大于24,然后将其更改为24?这将把上面的rogue示例改为2019-11-11T07:08:09.640-24:00

我怎么能对熊猫这么做呢?你知道吗


Tags: to数据示例datetime时间isopageshead
1条回答
网友
1楼 · 发布于 2024-09-27 21:23:35

使用dateutil。它非常适合于解析出现错误的日期

import dateutil                                                                                                                                                                     

dateutil.parser.parse('2019-10-30T14:45:42.71-04:00')                                                                                                                               
# datetime.datetime(2019, 10, 30, 14, 45, 42, 710000, tzinfo=tzoffset(None, -14400))

dateutil.parser.parse('2019-11-11T07:08:09.640-31:00')                                                                                                                              
# datetime.datetime(2019, 11, 11, 7, 8, 9, 640000, tzinfo=tzoffset(None, -111600))

相关问题 更多 >

    热门问题