Код: Выделить всё
# importing libraries
import numpy as np
import pandas as pd
# create data table
df = pd.DataFrame({
'date': ['1/7/2020 19:09','11/18/2019 20:23','5/19/2023 14:55','9/11/2019 17:14']})
Тип термина
Диапазон
Лето
23 марта – 6 июля
Осень
7 июля – 23 октября
Весна
24 октября – 22 марта
МОЯ ПОПЫТКА
Я пытался использовать np.where для создания этого столбца с использованием условий. Сначала я выделил месяц и день в столбцы «месяц» и «день» соответственно. См. ниже:
Код: Выделить всё
# extracting month and day
df['month'] = pd.to_datetime(df["date"], format= date_format).dt.month
df['day'] = pd.to_datetime(df["date"], format= date_format).dt.day
# use np.where to create a conditional column
df['term_type'] = np.where((df['month']>=3) & (df['month']=10) & (df['month']=22),'spring','fall'))

Это мой желаемый результат.
Код: Выделить всё
# Desired output
df['desired_term_type'] = ['spring','spring','summer','fall']

Может кто-нибудь, пожалуйста, помогите мне объяснить, что я сделал не так с моим кодом и как я могу решить эту проблему? Любая помощь приветствуется!
Подробнее здесь: https://stackoverflow.com/questions/785 ... -in-python