在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

我有一个数据框,它有两列“年”和“周数”。我需要找到周末日期并将其添加到数据框中

我是python新手,这里需要您的支持


谢谢你的问题是错的。它应该包括输入和输出的示例 另外,我认为您可以使用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安装吗?