我必须处理有人使用年份为 1700 的日期值的数据,而没有
实际事件日期。 1700 打破日期时间,从 1900 开始,但我相信你们都知道。
我已将数据转换为日期时间,然后尝试了 if 语句:
df["DATE"] = pd.to_datetime(df["DATE"])
if df['DATE'].dt.year.any() < 1900
#assigning today's date
df['DATE'] = dt.datetime.today().strftime("%m/%d/%y")
else:
#the original date value, formatted
df["DATE"] = df["DATE"].map(lambda x: x.strftime("%m/%d/%y"))
if
语句没有捕获1700
,我收到错误:
"ValueError: year=1700 is before 1900"
熊猫版本:0.18.0数字版本:1.11.1
我在完全重现此问题时遇到问题,但您是否尝试过:
df[df.DATE.dt.year < 1900] = dt.datetime.today()
df.DATE = df.DATE.map(lambda x: x.strftime("%m/%d/%y"))