Я хочу создать новый столбец на основе значений другого столбца, где существуют определенные условия для оценки значений, назначенных в новом столбце.
Я прочитал несколько вопросов и ответов ( Numpy np.where множественное условие ) с участием np.where()
, но не смог вывести лучший (эффективный) Pythonic способ.
Пример кадра данных:
period
0 JAN16
1 YTD JAN16
Я хочу присвоить значения столбцу period_type
при следующем условии:
если точка начинается с x (где x - любой элемент списка -> ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', ' SEP ',' OCT ',' NOV ',' DEC ']), затем period_type =' month ', иначе, period_type = period.split (0)
Я бы хотел, чтобы датафрейм был:
period period_type
0 JAN16 month
1 JAN16 YTD
Я не могу применить какую-либо логику в своем коде:
df.loc[df['c1'] == 'Value', 'c2'] = 10
Или:
df['c2'] = np.where(df.c1 == 8,'X',df.c3)