Вы можете попробовать настройку utf8_bin, и вам не стоит сталкиваться с этой проблемой, но она будет чувствительна к регистру. Сравнение бинов сравнивается строго, только выделение символов в соответствии с выбранной кодировкой, и как только это делается, сравнения выполняются на двоичной основе, так же как многие языки программирования будут сравнивать строки.
Точно так же, если ваши данные хранятся как объект datetime
, ваша соответствующая функция - x['date'] = x['date'].replace(2016)
, а ваше состояние - x['date'].year == 2014
. После предыдущего ответа однострочник будет выглядеть так: это:
df['date'] = df.apply(lambda x: x['Date'].replace(2014) if x['ID'] == 3 and x['date'].year == 2016 else x['date'], axis=1)`
Вообще, я бы рекомендовал работать с datetime
для дат и времени.