#python #pandas #calendar
Вопрос:
У меня есть следующая проблема. У меня есть столбец в моем наборе данных Дата:
df["Date"].head()
0 2021-05-27
1 2021-05-27
2 2021-05-27
3 2021-05-27
4 2021-05-27
Name: Date, dtype: object
Мне нужно вычислить неделю в году. Я пробую эту формулу: df["date_week"] = df["Date"].apply(lambda x: x.isocalendar()[1])
но я получил это сообщение об ошибке: AttributeError: 'str' object has no attribute 'isocalendar'
. Как я могу это исправить, пожалуйста?
Ответ №1:
Это то, что ошибка говорит о том, что ваш столбец «Дата» в настоящее время является объектом, поэтому преобразуйте его в datetime:
df['Date']=pd.to_datetime(df['Date'])
Окончательно:
df["date_week"]=df['Date'].dt.isocalendar().week
#you can also use: df['Date'].dt.week but it will give you FutureWarning