如果 pandas 数据帧中的年份低于 1900,则更改年份


我必须处理有人使用年份为 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"))

相关内容

  • 没有找到相关文章

最新更新