【发布时间】:2017-01-01 02:58:00
【问题描述】:
我有一个Pandasdataframe,其中包含我想转换为datetime 的文本日期。问题是我的一些文本日期是错误数据,因此无法转换。在无法转换日期的情况下,我想将Error 列更新为True 的值,并将Date 列设置为None,以便以后可以将其添加到格式为 datetime 的数据库列。
这是一个简化的例子。我的dataframe 可能有 100 万行和多个日期列,这需要完成,所以我需要一种更快的方法来执行此操作。我知道典型的约定是避免循环使用Pandas,但我想不出办法。
import pandas as pd
import numpy as np
import datetime
data = 1000 *[['010115', None],
['320115', None]]
df = pd.DataFrame(data=data,
columns=['Date', 'Error'])
for index, row in df.iterrows():
try:
datetime.datetime.strptime(row['Date'], '%d%m%y')
except ValueError:
row['Date'] = None
row['Error'] = True
except TypeError:
pass
print df
【问题讨论】:
标签: python python-2.7 datetime pandas dataframe