Я работаю над условным присвоением в фрейме данных Pandas с тремя столбцами даты, из которых базовая дата будет получена с использованием четвертого категориального значения («таблица»).
Приведенный ниже код запускается, НО я получаю текст pd_date
или nd_date
(т.е. текст имени поля), а не значение даты из поля. Оба поля даты являются полями datetime
, а BaseDate
не определено ранее.
df.loc[df['table'].isin(['t1','t2']), ['BaseDate'] = df['pd_date']]
df.loc[df['table'].isin(['t3','t4']), ['BaseDate'] = df['nd_date']]
Я видел много-много вопросов о присвоении значений на основе полей здесь на SE, но не могу найти ничего, связанного с назначением значений полей. Я попробовал менее желательный метод определения функции и использования .apply
, но это было сложнее и приводило к той же проблеме - возвращал строку, а не значение поля.
Я знаю, что это должно быть что-то простое, но я не могу решить это. Любая помощь приветствуется.