【发布时间】:2022-12-13 20:15:05
【问题描述】:
我有一个 dataframe,其中有一个 datetime 列,例如 2014-01-01、2016-06-05 等。现在我想在 dataframe 中添加一个列来计算一年中的第几天(对于给定年份)。
在这个论坛上,我确实确实找到了一些提示,但我正在努力处理类型和dataframe 的东西。
所以这很好用
from datetime import datetime
day_to_calc = today
day_of_year = day_to_calc.timetuple().tm_yday
day_of_year
但是我的day_to_calc不是今天,而是df['Date']。但是,如果我尝试这个
df['DOY'] = df['Date'].timetuple().tm_yday
我得到
AttributeError:“系列”对象没有属性“timetuple”
好的,所以我想我可能需要一个地图功能? 所以我正在尝试类似..
df['DOY'] = map (datetime.timetuple().tm_yday,df['Date'])你们肯定知道那是多么愚蠢 ;-)(但我仍在学习 Python)
TypeError: 'datetime.datetime' 对象的描述符 'timetuple' 需要参数
所以这是有道理的,因为我需要将日期作为参数传递,sooo ..尝试
df['DOY'] = datetime.timetuple(df['Date']).tm_ydayTypeError: 描述符 'timetuple' 需要一个 'datetime.datetime' 对象但收到了一个 'Series'
一定有一个简单的方法,但我就是想不通语法:-(
【问题讨论】: