На фрейме данных pandas у меня есть функция, которая заменяет следующую в столбце mileage
:
for index,row in carsDF6.iterrows():
if carsDF6.loc[index,'mileage'] > 600000:
carsDF6.loc[index,'mileage'] = np.nan
if carsDF6.loc[index,'mileage'] < 4000:
carsDF6.loc[index,'mileage'] = np.nan
Работает нормально.После этого я хочу заменить эти np.nan средними значениями из целого столбца mileage
, я использую:
carsDF6.mileage= carsDF6.mileage.map(lambda x: carsDF6.mileage.mean() if x == np.nan else x)
Он не выдает никакой ошибки, он просто не делает то, что предполагает, потому чтокогда я проверяю NaN с:
carsDF6.loc[carsDF6.isnull().any(axis=1)]
, он все равно выдает те же 6 записей с NaN.