или «Как спасти модель, когда она тупит» "Грязные данные — грязный прогноз. Чистые данные — чистый... ну, почти."
— дата-сайентист, у которого опять не сошлась метрика Как бы это ни звучало, но данные всегда приходят грязными. Где-то пропущены значения, где-то в одной колонке и числа, и текст, а где-то вместо «муж» — «М», «мужчина», «чел», и всё это в одной таблице. import pandas as pd
import numpy as np
# Имитация "реальных" данных
data = pd.DataFrame({
"Name": ["Анна", "Борис", "Вася", "Гена", "Даша"],
"Hours_Study": [5, np.nan, 3, 4, 'пять'],
"Score": [90, 85, np.nan, 70, 75]
})
print(data) # 1. Преобразуем 'пять' в число (если можем)
data["Hours_Study"] = pd.to_numeric(data["Hours_Study"], errors="coerce")
# 2. Заполним пропуски средним значением
data["Hours_Study"].fillna(data["Hours_Study"].mean(), inplace=True)
data["Score"].fillna(data["Score"].mean(), inplace=True)
print(data) 👉 Комментарий: errors="coerce" превращает всё нечисловое в NaN, а потом мы эти NaN