1

我的数据中有“0000-00-00 00:00:00”值。我该如何处理它们?

我收到以下错误;

ValueError: ('Unable to parse 0000-00-00 00:00:00', u'occurred at index 1008'))

从csv读取,我这样做了;

pd.to_datetime(data['Deadline Time']) pd.to_datetime(data['Completed Time'])

在here的帮助下,我做到了;

def func(x,y):
  if x > y:
    return 'delayed by ' + str( ((x-y).seconds//60)%60) + ' minutes'
  else:
    return 'on time by ' + str( ((y-x).seconds//60)%60) + ' minutes'
data['time delay'] = data.apply(lambda row: func(pd.Timestamp(row['Completed Time']), pd.Timestamp(row['Deadline Time'])), axis=1)
4

2 回答 2

2

试试这个,该值将转换为 NaT

pd.to_datetime(data['Deadline Time'], coerce=True)
于 2013-07-29T07:22:05.380 回答
0

只需更新@waitingkuo 答案,以供以后的熊猫版本使用。

pd.to_datetime(data['Deadline Time'], errors='coerce')
于 2021-05-21T08:46:59.767 回答