'replacing integers in a data frame (logic issues)

So I am trying to change some values in a df using pandas and, having already tried with df.replace, df.mask, and df.where I got to the conclusion that it must be a logical mistake since it keeps throwing the same mistake:

ValueError: The truth value of a Series is ambiguous. 

I am trying to normalize a column in a dataset, thus the function and not just a single line. I need to understand why my logic is wrong, it seems to be such a dumb mistake.

This is my function:

def overweight_normalizer():
    if df[df["overweight"] > 25]:
        df.where(df["overweight"] > 25, 1)
    elif df[df["overweight"] < 25]:
        df.where(df["overweight"] < 25, 0)


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source