single
Udfordring: Imputering af manglende værdier
Stryg for at vise menuen
SimpleImputer-klassen erstatter manglende værdier automatisk.
from sklearn.impute import SimpleImputer
imputer = SimpleImputer()
Væsentlige parametre:
missing_value: pladsholder behandlet som manglende (standardnp.nan);strategy: metode til at udfylde huller ('mean'som standard);fill_value: bruges nårstrategy='constant'.
Som en transformer tilbyder den metoder som .fit(), .transform() og .fit_transform().
Valg af metode til at udfylde manglende data er afgørende. En almindelig tilgang:
- numeriske egenskaber → gennemsnit;
- kategoriske egenskaber → hyppigste værdi.
strategy-muligheder:
'mean'— udfyld med gennemsnit;'median'— udfyld med median;'most_frequent'— udfyld med typetal;'constant'— udfyld med en angivet værdi viafill_value.
missing_values definerer, hvilke værdier der behandles som manglende (standard NaN, men kan være '' eller en anden markør).
SimpleImputer forventer en DataFrame, ikke en Series.
En enkeltkolonne DataFrame skal vælges med dobbelte klammer:
imputer.fit_transform(df[['column']])
fit_transform() returnerer et 2D-array, men tildeling tilbage til en DataFrame-kolonne kræver et 1D array.
Udflad resultatet med .ravel():
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Swipe to start coding
Du får en DataFrame df, der indeholder pingvindata. Kolonnen 'sex' har manglende værdier. Udfyld dem ved at bruge den mest hyppige kategori.
- Importér
SimpleImputer; - Opret en imputer med
strategy='most_frequent'; - Anvend den på
df[['sex']]; - Tildel de imputede værdier tilbage til
df['sex'].
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat