Search code examples
pythondataframefillna

.fillna empties the whole column instead of repalcing null values


I have a dataframe with a column named rDREB% which contains missing values, as shown:count of cells with value of columns. I tried:

playersData['rDREB%'] = playersData['rDREB%'].fillna(0, inplace=True)

After executing the code, the whole column will be empty when i check. Isn't the code supposed to replace only null value with 0? i am confused.

before the code after the code

P.S. i am also trying to replace other columns with missing values, i.e. ScoreVal, PlayVal, rORB%, OBPM, BPM...


Solution

  • Using inplace means fillna returns nothing, which you're assinging to your column. Either remove inplace, or don't assign the return value to the column:

    playersData['rDREB%'] = playersData['rDREB%'].fillna(0)

    or

    playersData['rDREB%'].fillna(0, inplace=True)

    The first approach is recommended. See this question for more info: In pandas, is inplace = True considered harmful, or not?