Таким образом, кажется, что ваши значения достаточно малы, чтобы быть представленными в виде нулей, но на самом деле не являются нулями.Обычно это происходит, когда вычисления приводят к исчезновению градиентов (действительно, небольших чисел, которые приближаются к нулю, но не совсем к нулю), поэтому сравнения на равенство не дают искомого результата.
В подобных случаяхУ numpy есть удобная функция под названием isclose
, которая позволяет вам проверить, достаточно ли число близко к другому числу в пределах определенного допуска.
В вашем случае выполнение
df = df[~np.isclose(df['overall_satisfaction'], 0)]
Кажется, работает.