所以我目前有一个数据集,它的日期列为int,例如102809
为10/28/2009
。因此,我试图将此列转换为具有正确日期格式的实际日期列。
我从另一个关于堆栈溢出的问题中尝试了这个代码:
curry['Datetime'] = curry['Date'].apply(lambda x: pd.to_datetime(str(x), format='%m/%d/%Y'))
但此行返回此错误:time data '102809' does not match format '%m/%d/%Y' (match)
将其更改为:
curry['Datetime'] = curry['Date'].apply(lambda x: pd.to_datetime(str(x), format='%m%d%y'))
我已经删除了斜线,并将%Y改为小写->%y、 因为年只有两位数
看起来您的日期格式是月、日和年各两位数,所以您的格式应该是'%m%d%y'
,没有斜杠。(两位数的年份是%y
,而不是%Y
。(此外,不需要使用较慢的df.apply()
。
curry['Datetime'] = pd.to_datetime(curry['Date'], format='%m%d%y')