Напишите функцию, которая принимает
pandas.DataFrame и возвращает новый DataFrame, где все пропущенные значения (NaN) в числовых столбцах заменены на медиану соответствующего столбца.Пример:
import pandas as pd
data = pd.DataFrame({
'age': [25, 30, None, 45, 50],
'salary': [50000, 60000, 55000, None, 65000],
'city': ['NY', 'LA', 'NY', 'SF', 'LA']
})
cleaned_data = fill_missing_with_median(data)
print(cleaned_data)
age salary city
0 25.0 50000.0 NY
1 30.0 60000.0 LA
2 37.5 55000.0 NY
3 45.0 57500.0 SF
4 50.0 65000.0 LA
Решение задачи🔽
import pandas as pd
def fill_missing_with_median(df):
df_filled = df.copy()
for col in df_filled.select_dtypes(include='number').columns:
median = df_filled[col].median()
df_filled[col].fillna(median, inplace=True)
return df_filled
# Пример использования:
data = pd.DataFrame({
'age': [25, 30, None, 45, 50],
'salary': [50000, 60000, 55000, None, 65000],
'city': ['NY', 'LA', 'NY', 'SF', 'LA']
})
cleaned_data = fill_missing_with_median(data)
print(cleaned_data)