【发布时间】:2018-06-07 17:47:05
【问题描述】:
pandas (python) 是否提供了一种从日期系列中轻松获取当前星期 (1:4) 的方法?
data = {'date': ['2014-05-01', '2014-05-01', '2014-05-02', '2014-05-02', '2014-05-02', '2014-05-02', '2014-05-03', '2014-05-03', '2014-05-04', '2014-05-04']}
df = pd.DataFrame(data, columns = ['date'])
df['date']=pd.to_datetime(df['date'])
def week_of_month(dt):
""" Returns the week of the month for the specified date.
"""
first_day = dt.replace(day=1)
dom = dt.day
adjusted_dom = dom + first_day.weekday()
return int(ceil(adjusted_dom/7.0))
df ['week']=np.nan
for i in range(len(df)):
df ['week'][i] = week_of_month(df.date.iloc[i])
使用短数据集它可以工作,但使用大数据集需要大量资源
【问题讨论】:
-
你的意思是 1:5,不是吗?
-
是的,这就是我的意思。[link] (stackoverflow.com/questions/3806473/…) 在这篇文章中有答案,但仅限于特定日期。
-
有些地区从周日开始,有些地区从周一开始。