Czyszczenie danych bez wątpienia zajmuje mnóstwo czasu w nauce o danych, a brakujące dane to jedno z wyzwań, z którymi często się borykasz. pandas to cenne narzędzie do manipulacji danymi w Pythonie, które pomaga między innymi naprawić brakujące wartości w zestawie danych.
Możesz naprawić brakujące dane, upuszczając lub wypełniając je innymi wartościami. W tym artykule wyjaśnimy i zbadamy różne sposoby uzupełniania brakujących danych za pomocą pand.
1. Użyj metody fillna():
ten wypełniać () funkcja iteruje po zestawie danych i wypełnia wszystkie puste wiersze określoną wartością. Przyjmuje kilka opcjonalnych argumentów — zwróć uwagę na następujące:
Wartość: To jest wartość, którą chcesz wstawić do brakujących wierszy.
metoda: Pozwala uzupełnić brakujące wartości do przodu lub do tyłu. Akceptuje „napełnić” lub „wypełnić” parametr.
W miejscu: Akceptuje instrukcję warunkową. Jeśli True, modyfikuje DataFrame na stałe. W przeciwnym razie nie.
Zanim zaczniemy, upewnij się, że zainstalowałeś pandy w swoim Wirtualne środowisko Pythona za pomocą pypeć w Twoim terminalu:
pip zainstaluj pandy
Następnie w skrypcie Pythona utworzymy ćwiczeniowy DataFrame i wstawimy wartości null (Nan) do kilku wierszy:
importuj pandy
df = pandy. DataFrame({'A' :[0, 3, Brak, 10, 3, Brak],
„B”: [Brak, Brak, 7.13, 13.82, 7, 7],
'C': [Brak, „Pandy”, Brak, „Pandy”, „Python”, „JavaScript”]})
Związane z:Jak importować dane z Excela do skryptów Pythona za pomocą Pandas
Teraz sprawdź, jak możesz uzupełnić te brakujące wartości za pomocą różnych dostępnych metod w pandach.
Ta metoda polega na zastąpieniu braków danych obliczonymi średnimi. Uzupełnianie brakujących danych wartością średnią lub medianą ma zastosowanie, gdy dane kolumny mają typ danych całkowitych lub zmiennoprzecinkowych.
Możesz również uzupełnić brakujące dane wartością mode, która jest najczęściej występującą wartością. Dotyczy to również liczb całkowitych lub zmiennoprzecinkowych. Ale jest to wygodniejsze, gdy dane kolumny zawierają ciągi.
Oto jak wstawić średnią i medianę do brakujących wierszy w utworzonej wcześniej ramce DataFrame:
#Aby wstawić średnią wartość każdej kolumny do jej brakujących wierszy:
df.fillna (df.mean().round (1), inplace=True)
#Dla mediany:
df.fillna (df.median().round (1), inplace=True)
drukuj (df)
Wstawienie wartości modalnej, tak jak w przypadku powyższej średniej i mediany, nie przechwytuje całej ramki DataFrame. Ale możesz wstawić go do określonej kolumny zamiast, powiedzmy, kolumny C:
df['C'].fillna (df['C'].mode()[0], inplace=True)
Mając to na uwadze, nadal można wstawić jednocześnie wartość modalną każdej kolumny w jej brakujących wierszach za pomocą pętli for:
dla i w df.kolumnach:
df[i].fillna (df[i].mode()[0], inplace=True)
drukuj (df)
Jeśli chcesz być specyficzny dla kolumny podczas wstawiania średniej, mediany lub trybu:
df.fillna({"A":df['A'].mean(),
"B": df['B'].median(),
"C": df['C'].mode()[0]},
miejsce=prawda)
drukuj (df)
Wypełnij puste wiersze wartościami za pomocą ffill
Obejmuje to określenie metody wypełniania wewnątrz jako wypełniać () funkcjonować. Ta metoda wypełnia każdy brakujący wiersz wartością najbliższego nad nim.
Możesz również nazwać to wypełnianiem do przodu:
df.fillna (metoda='ffill', inplace=True)
Wypełnij brakujące wiersze wartościami za pomocą bfill
Tutaj zastąpisz wypełnić metoda wymieniona powyżej z bfill. Wypełnia każdy brakujący wiersz w DataFrame najbliższą wartością pod nim.
Ten nazywa się wypełnianiem wstecznym:
df.fillna (metoda='bfill', inplace=True)
2. Metoda replace()
Możesz wymienić Nan wartości w określonej kolumnie ze średnią, medianą, trybem lub dowolną inną wartością.
Związane z:pandy Polecenia do manipulowania DataFrames
Zobacz, jak to działa, zastępując puste wiersze w nazwanej kolumnie jej średnią, medianą lub trybem:
importuj pandy
importuj numer #to wymaga wcześniejszego zainstalowania numpy
#Zamień wartości null na średnią:
df['A'].replace([numpy.nan], df[A].mean(), inplace=True)
#Zastąp kolumnę A medianą:
df['B'].replace([numpy.nan], df[B].median(), inplace=True)
#Użyj wartości modalnej dla kolumny C:
df['C'].replace([numpy.nan], df['C'].mode()[0], inplace=True)
drukuj (df)
3. Uzupełnij brakujące dane za pomocą interpolate()
ten interpolować() funkcja używa istniejących wartości w DataFrame do oszacowania brakujących wierszy.
Uruchom następujący kod, aby zobaczyć, jak to działa:
#Interpoluj wstecz w kolumnie:
df.interpolate (metoda = „liniowa”, limit_direction = „wstecz”, inplace = prawda)
#Interpoluj w kolejności do przodu w kolumnie:
df.interpolate (metoda = „liniowa”, limit_direction = „do przodu”, inplace = prawda)
Postępuj ostrożnie z brakującymi wierszami
Chociaż rozważaliśmy tylko uzupełnianie brakujących danych wartościami domyślnymi, takimi jak średnie, tryb i inne metody, istnieją inne techniki naprawiania brakujących wartości. Na przykład analitycy danych czasami usuwają te brakujące wiersze, w zależności od przypadku.
Co więcej, ważne jest, aby krytycznie przemyśleć swoją strategię przed jej użyciem. W przeciwnym razie możesz uzyskać niepożądane wyniki analizy lub prognozy. Pomóc mogą niektóre wstępne strategie wizualizacji danych.
Wyświetlaj swoje dane za pomocą wykresów Jupyter Notebook.
Czytaj dalej
- Programowanie
- Pyton
- Programowanie
- Baza danych
Idowu pasjonuje się każdą inteligentną technologią i produktywnością. W wolnych chwilach bawi się kodowaniem, a gdy się nudzi, przechodzi na szachownicę, ale od czasu do czasu uwielbia też oderwać się od rutyny. Jego pasja do pokazywania ludziom drogi do nowoczesnych technologii motywuje go do pisania więcej.
Zapisz się do naszego newslettera
Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Kliknij tutaj, aby zasubskrybować