Ребят. Привет. Я опять с ламерским вопросом.
Есть df1, который я посчитала сама (на основе значений из базы)
Есть df2, который я прочитала из файла.
Задача проверить эквивалентность значений соответствующих столбцов df1 и df2
проблема1:
когда я делаю
df1.iloc[:,0].values - он мне возвращает dtype
object
проблему решила добавив astype(float)
проблема2:
для равных значений он возвращает false.
Базово использовала allclose(df1[i], df2[j])
После стала просить вывести на экран конкретные значения, которые не равны через "=="
differencePoints = (df1.iloc[:,0].values.astype(float)*1000000000).astype(int)==(df1[key].values*1000000000).astype(int)
tmp = pd.DataFrame({"FIRST": differencePoints, "SECOND":df1.iloc[:, 0].values.astype(float)*1000000000, "THIRD":df2[key].values*1000000000})
print(tmp.loc[tmp['FIRST'] == False])
выводит :
second - значение из df1
third - значение из df2
FIRST SECOND THIRD
27 False -5.743710e+08 -5.743710e+08
тут похоже какая-то концептуальная ошибка. Но я её не осознаю