# Lesson 2: preparing data - missing values and text columns
import pandas as pd

flats = pd.read_csv("flats.csv")
print("Rows, columns:", flats.shape)
print("\nMissing values per column:")
print(flats.isna().sum())

# fill numbers with the median (not the mean: one odd value cannot drag it)
for col in ["age_years", "floor"]:
    flats[col] = flats[col].fillna(flats[col].median())

# models need numbers: turn the city text into 0/1 columns
X = pd.get_dummies(flats.drop(columns="price_lakh"), columns=["city"], dtype=int)
print("\nColumns the model will see:")
print(list(X.columns))
print("\nFirst 3 rows:")
print(X.head(3).to_string())
print("\nMissing values left:", int(X.isna().sum().sum()))
