Ich habe den folgenden Code ausgeführt und festgestellt, dass er wie erwartet auf eher kleinen Datasets funktioniert, aber nicht auf großen Datasets. Sie können es für sich selbst ausprobieren:Pandas vektorisierte Operationen, die nicht an großen Datenmengen arbeiten
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?')
Auf meiner Maschine, die Zeichenfolge "warum?" wird etwa 4 mal gedruckt. Ich habe keine Ahnung, warum ich dieses Ergebnis bekomme, und ich hoffe, dass jemand das Problem beleuchten wird.
Es druckt nichts auf meiner Maschine, scheint Arbeit wie erwartet. – Psidom
Ich habe dies Tausende Male ohne Drucke ausgeführt. – piRSquared
Ich kann das Verhalten nicht reproduzieren, aber das Testen auf exakte Gleichheit auf Fließkommazahlen ist im Allgemeinen unzuverlässig. Was versuchst du eigentlich? – BrenBarn