我有一个pandas列df [“ date”],其输出类似于43374.11,这意味着它从1900-01-01开始计数。
我想将该列转换为YYYY-MM-DD格式。
我尝试了以下代码:
date_conv= datetime.date(1900, 1, 1) +
datetime.timedelta(int(df["date"]))
df["date"] = date_conv.strftime('%Y-%m-%d')
但是,出现以下错误:
TypeError:无法将系列转换为类'int'>
答案 0 :(得分:1)
您正在尝试将用于单个值( Int )的函数应用于整个值列( df [“ date”] )。
尝试使用 apply 方法通过调用如下函数一次转换每个值:
prod
答案 1 :(得分:0)
这就是您需要的
pd.TimedeltaIndex(df.date, unit='d')+pd.to_datetime('1900-01-01')
DatetimeIndex(['2018-10-03 02:38:24', '2015-05-17 00:00:00'], dtype='datetime64[ns]', freq=None)