2015-09-16 15 views
10

Pytanie brzmi: jak wypełnić NaN z najczęstszymi poziomami dla kolumny kategorii w ramce danych pandy?Przypisywanie brakujących wartości dla kategorii w pandach

W pakiecie R lasy losowe jest na.roughfix opcja: A completed data matrix or data frame. For numeric variables, NAs are replaced with column medians. For factor variables, NAs are replaced with the most frequent levels (breaking ties at random). If object contains no NAs, it is returned unaltered.

w Pand dla zmiennych liczbowych mogę wypełnić NaN wartości z:

df = df.fillna(df.median()) 

Odpowiedz

17

Można wykorzystać df = df.fillna(df['Label'].value_counts().index[0]) wypełnić Nans z najczęstszych wartości z jednej kolumny.

Jeśli chcesz wypełnić każdą kolumnę z własnym najczęstszej wartości można użyć

df = df.apply(lambda x:x.fillna(x.value_counts().index[0]))

+0

Dzięki, to działa. Odkryłem też, że mogę to zrobić za pomocą numpy 'np.asscalar ((mode (df ['Label']) [0]))' –

+0

Dla pierwszego przypadku 'df.fillna' pobiera słowo kluczowe' inplace' można ustawić na "True", co tworzy nieco bardziej zwięzły kod. – James

Powiązane problemy