【发布时间】:2021-03-24 05:59:57
【问题描述】:
我想在数据框事务中从 DAY 列创建一个新列 DATE(列出研究开始后的天数)。比如,如果 DAY 是 1,我希望 DATE 显示 2014-1-1,或者如果 DAY 是 12,它应该是 2014-1-12。这就是我正在做的将日期转换为日期的工作:
import datetime
def serial_date_to_string(srl_no):
new_date = datetime.datetime(2014,1,1,0,0) + datetime.timedelta(srl_no - 1)
return new_date.strftime("%Y-%m-%d")
但是,当我尝试使用此公式添加新列时,它不起作用:
transaction['DATE'] = serial_date_to_string(transaction['DAY'])
TypeError:timedelta days 组件的类型不受支持:系列
但是 DAY 列类型是 int64。我尝试在论坛上搜索,发现公式可以调整,如果我尝试使用这个:
def serial_date_to_string(srl_no):
new_date = datetime.datetime(2014,1,1,0,0) + (srl_no - 1).map(datetime.timedelta)
return new_date.strftime("%Y-%m-%d")
它仍然给出 AttributeError: 'Series' object has no attribute 'strftime'。
感谢您的帮助!
【问题讨论】:
标签: python pandas date datetime