-1

The values are getting replaced but the moment i print the data it still shows the nan values

for col in data.columns:
    for each in range(len(data[col])):
        if math.isnan(data[col][each]) == True:
            data.replace(data[col][each], statistics.mean(data[col]))
 data

dataset: https://docs.google.com/spreadsheets/d/1AVTVmUVs9lSe7I9EXoPs0gNaSIo9KM2PrXxwVWeqtME/edit?usp=sharing

desertnaut
  • 57,590
  • 26
  • 140
  • 166
Whiteox
  • 39
  • 9

1 Answers1

1

Looks like what you are trying to do is to replace NaN values by the mean of each column, which has been treated here

Regarding your problem, the function replace(a,b) replaces all the values in your dataframe that are equal to a by b.

Moreover, the function statistics.mean will return NaN if there is a Nan number in your list, so you should use numpy.nanmean() instead.

shinwoa
  • 36
  • 4