Pandas перезаписывает каждую ячейку кадра данных одним и тем же значением, когда я пытаюсь ее отфильтровать [дубликат]Python

Программы на Python
Anonymous
Pandas перезаписывает каждую ячейку кадра данных одним и тем же значением, когда я пытаюсь ее отфильтровать [дубликат]

Сообщение Anonymous »

Что я пытаюсь сделать:
На основе записей в фрейме данных «registry_df» я пытаюсь определить, какие записи уже существуют в фрейме данных «other_system_df», поэтому не требуется никаких действий, а каких еще нет и их нужно будет добавить. Это делается путем сравнения индексов обоих фреймов данных.

Код: Выделить всё

registry_ids = registry_df.index
other_system_ids = other_system_df.index

# No action
registry.loc[registry_ids.isin(other_system_ids),'action'] = 'No action'

# Add to other system
registry.loc[~registry_ids.isin(other_system_ids),'action'] = 'Add to other system'
Однако, когда я проверяю результаты, применяя фильтр:

Код: Выделить всё

registry[registry['action']=='Add to other system']
Каждая ячейка имеет значение «Добавить в другую систему». Присвоение значений выглядит нормально, если посмотреть на этот фильтр:

Код: Выделить всё

registry[registry['action']=='No action']
Насколько я могу судить, Python неправильно интерпретирует отрицающую тильду при назначении значения «Добавить в другую систему», но я совершенно понятия не имею, почему он это делает или что у меня есть другая альтернатива, поскольку функции notin() нет.
Что я делаю неправильно/какие у меня есть варианты?

Подробнее здесь: https://stackoverflow.com/questions/787 ... try-to-fil

Вернуться в «Python»