Я запустил следующий код и обнаружил, что он работает, как и ожидалось, с довольно небольшими наборами данных, но не с большими. Вы можете попробовать сами:
import pandas as pd
import numpy as np
# generating dataframe of one million observations
observations = 1000000
df = pd.DataFrame(np.random.randint(0,100,size=(observations, 1)), columns=['A'])
for i in range(50):
if (df.A + 2).equals(df.A + 2) == False:
print('why?')
На моей машине строка "почему?" печатается около 4 раз. Я понятия не имею, почему я получаю этот результат, и я надеюсь, что кто-то прольет свет на проблему.