Включение форматирования строки / f-строки в оператор Python if - PullRequest
0 голосов
/ 02 апреля 2020

Я хочу создать категориальную переменную из функции datetime, но мне нужно использовать функцию datetime для целей автоматизации. Это довольно близко, но просто не получится.

В моей первой попытке, после фильтрации переменной даты для сохранения только сегодняшних и вчерашних наблюдений, я попробовал оператор if: но это преобразовало обе даты в метку «вчера»

test = master2.\
   query(f'date >= "{pd.Timestamp.today() - pd.Timedelta(days = 8)}"').\
   assign(date2 = 'yesterday' if 'master2.date == {pd.Timestamp.today() - pd.Timedelta(days = 7)}' else 'today')

Моя вторая попытка использовала лямбда-функцию: но это вернуло ошибку: ValueError: Истинное значение Series является неоднозначным. Используйте a.empty, a.bool (), a.item (), a.any () или a.all ()

test = master2.\
   query(f'date >= "{pd.Timestamp.today() - pd.Timedelta(days = 8)}"').\
   assign(date2 = master2['date'].apply(lambda x: 'yesterday' if master2.date == '{pd.Timestamp.today() - pd.Timedelta(days = 7)}' else 'today'))

Буду признателен за любые советы

...