在python的数据框中获取给定年份和周数的周结束日期
我有一个数据框,它有两列“年”和“周数”。我需要找到周末日期并将其添加到数据框中 我是python新手,这里需要您的支持在python的数据框中获取给定年份和周数的周结束日期,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框,它有两列“年”和“周数”。我需要找到周末日期并将其添加到数据框中 我是python新手,这里需要您的支持 谢谢你的问题是错的。它应该包括输入和输出的示例 另外,我认为您可以使用datetime标准库根据年份和周数以及周中给定的日期(周六为6天)获取日期: import pandas as pd df = pd.DataFrame({'year':[2010, 2009], 'week number':[23, 5]}) from datetime import date d
谢谢你的问题是错的。它应该包括输入和输出的示例 另外,我认为您可以使用datetime标准库根据年份和周数以及周中给定的日期(周六为6天)获取日期:
import pandas as pd
df = pd.DataFrame({'year':[2010, 2009],
'week number':[23, 5]})
from datetime import date
df['end_week'] = df.apply(lambda x : date.fromisocalendar(x['year'], x['week number'], 6).strftime("%d/%m/%Y"), axis=1)
print(df)
对于3.6之前(含3.6)的Python版本:
import pandas as pd
df = pd.DataFrame({'year':[2010, 2009],
'week number':[23, 5]})
from datetime import datetime
def date_from_isoweek(year, week, day):
return datetime.strptime(f"{year:04d} {week:02d} {day:d}", "%G %V %u").date()
df['end_week'] = df.apply(lambda x : date_from_isoweek(x['year'], x['week number'], 6).strftime("%d/%m/%Y"), axis=1)
print(df)
输出:
year week number end_week
0 2010 23 12/06/2010
1 2009 5 31/01/2009
嘿,谢谢你的回复,但我收到了错误“AttributeError:type object'datetime.date'没有来自Isocalendar的属性”。为什么会这样?我的代码:from datetime import date final_DF['end_week']=final_DF.apply(lambda x:date.fromisocalendar(x['week_ending_year'],x['week_no'],6)。strftime(%d/%m/%Y),axis=1)打印(final_DF)@WasimAkramKhan确保再次使用Python 3.8检查我的系统中的Python版本是3.8.5。这是一个问题吗?这很奇怪,因为。你有多个Python安装吗?