Jak obsługiwać wartości „nan” w procesie wstępnego przetwarzania danych?

Jan 20, 2026

Zostaw wiadomość

David Wang
David Wang
Jako starszy inżynier w naszym dziale systemów dystrybucji koncentruję się na projektowaniu niezawodnych rozwiązań dystrybucyjnych CATV/SAT. Moja praca zapewnia bezproblemową realizację sygnału zarówno na obszarach miejskich, jak i wiejskich.

Hej tam! Jako dostawca wysokiej jakości nan (nie jest to typowe określenie, ale dajmy temu spokój w tym blogu), widziałem sporo potoków wstępnego przetwarzania danych i często pojawiających się nieznośnych wartości „nan”. Dlatego na tym blogu przeprowadzę Cię przez proces radzenia sobie z wartościami „nan” jak profesjonalista.

Na początek przyjrzyjmy się, czym są wartości „nan”. „Nan” oznacza „To nie jest liczba”. Jest to specjalna wartość zmiennoprzecinkowa, która reprezentuje niezdefiniowaną lub niereprezentowalną wartość w obliczeniach numerycznych. Wartości „nan” można znaleźć w zbiorach danych z różnych powodów. Być może wystąpił błąd podczas zbierania danych, na przykład awaria czujnika lub użytkownik zapomniał wprowadzić wartość. A może wystąpiło obliczenie, które spowodowało nieprawidłową operację, taką jak dzielenie przez zero.

Dlaczego więc obsługa wartości „nan” jest tak ważna? Cóż, większość algorytmów uczenia maszynowego i narzędzi do analizy danych nie obsługuje wartości „nan”. Albo zgłoszą błąd, albo podają niedokładne wyniki. Zatem radzenie sobie z wartościami „nan” jest kluczowym krokiem w procesie wstępnego przetwarzania danych.

GPU-4GAC-V-R-1XPON+4GE+1POTS+1USB3.0+CATV+AX3000 WIFI6 HGU ONU

1. Identyfikacja wartości „nan”.

Pierwszym krokiem w obsłudze wartości „nan” jest ich identyfikacja. W Pythonie, jeśli używasz bibliotek takich jak Pandas, jest to bardzo proste. Możesz skorzystać zisnull()LubJest()metody. Na przykład:

importuj pandy jako pd importuj numpy jako np data = {'col1': [1, 2, np.nan, 4], 'col2': [5, np.nan, 7, 8]} df = pd.DataFrame(data) nan_mask = df.isnull() print(nan_mask)

Ten kod utworzy ramkę danych z niektórymi wartościami „nan”, a następnie wygeneruje maskę logiczną pokazującą, gdzie znajdują się wartości „nan”.

2. Usuwanie wartości „nan”.

Jednym z najprostszych sposobów obsługi wartości „nan” jest po prostu ich usunięcie. W Pandach możesz używaćupuszczać()metoda.

clean_df = df.dropna() print(clean_df)

Spowoduje to usunięcie wszystkich wierszy zawierających wartości „nan”. Jednak to podejście ma swoje wady. Jeśli masz dużo wartości „nan”, możesz stracić znaczną ilość danych. A jeśli wartości „nan” nie są rozmieszczone losowo, możesz wprowadzić błąd do swojego zbioru danych.

3. Obraz „nan” Valuees

Imputacja to bardziej wyrafinowany sposób obsługi wartości „nan”. Zamiast usuwać punkty danych z wartościami „nan”, zastępujesz je wartościami szacunkowymi.

Przypisanie średniej/mediany/trybu

W przypadku kolumn liczbowych wartości „nan” można zastąpić średnią, medianą lub trybem kolumny.

średnia_kol1 = df['kol1'].średnia() df['kol1'] = df['kol1'].fillna(średnia_kol1)

Ten kod zastępuje wartości „nan” w kolumnie „col1” średnią z tej kolumny. Przypisanie średniej jest szybkie i łatwe, ale może zmniejszyć wariancję danych. Imputacja mediany jest lepszą opcją, jeśli dane zawierają wartości odstające, ponieważ wartości ekstremalne w mniejszym stopniu wpływają na medianę.

W przypadku kolumn kategorialnych można zastosować tryb (najczęstsza wartość).

mode_col2 = df['col2'].mode()[0] df['col2'] = df['col2'].fillna(mode_col2)

Interpolacja

Interpolacja to kolejny sposób przypisywania wartości „nan”, szczególnie w przypadku danych szeregów czasowych. Pandy zapewniająinterpolować()metoda.

df = pd.DataFrame({'wartość': [1, np.nan, 3, 4, np.nan, 6]}) df['wartość'] = df['wartość'].interpolate() print(df)

Ta metoda szacuje brakujące wartości na podstawie wartości sąsiadujących punktów danych.

4. Stosowanie zaawansowanych technik

Istnieją również bardziej zaawansowane techniki obsługi wartości „nan”, takie jak wykorzystanie algorytmów uczenia maszynowego do przewidywania brakujących wartości. Można na przykład użyć drzewa decyzyjnego lub losowego lasu, aby przewidzieć wartości „nan” na podstawie innych funkcji w zestawie danych.

Nasze produkty i ich dopasowanie

Jako dostawca nan wiem, że posiadanie czystych i wiarygodnych danych jest kluczowe dla podejmowania świadomych decyzji. Dlatego nasze produkty zostały zaprojektowane tak, aby bezproblemowo współpracować z procesami wstępnego przetwarzania danych. Niezależnie od tego, czy pracujesz nad projektem na małą skalę, czy aplikacją korporacyjną na dużą skalę, nasze produkty nan mogą pomóc w efektywniejszej obsłudze wartości „nan”.

A mówiąc o produktach pokrewnych, oferujemy również kilka świetnych urządzeń XPON ONU. Sprawdź te niesamowite produkty:

Urządzenia te zaprojektowano tak, aby zapewniały szybką i niezawodną łączność, niezbędną do gromadzenia i analizy danych.

Skontaktuj się z nami w sprawie zakupu

Jeśli interesują Cię nasze produkty nan lub którekolwiek urządzenie XPON ONU, chętnie się z Tobą skontaktujemy. Jeśli masz pytania dotyczące naszych produktów, potrzebujesz wyceny lub chcesz omówić niestandardowe rozwiązanie, nie wahaj się z nami skontaktować. Jesteśmy tutaj, aby pomóc Ci w maksymalnym wykorzystaniu danych i zapewnić płynne działanie procesów wstępnego przetwarzania danych.

Referencje

  • VanderPlas, J. (2016). Podręcznik nauki o danych w języku Python: niezbędne narzędzia do pracy z danymi. O'Reilly Media.
  • McKinney, W. (2012). Python do analizy danych: przetwarzanie danych za pomocą Pand, NumPy i IPython. O'Reilly Media.
Wyślij zapytanie
Skontaktuj się z namiJeśli masz jakieś pytanie

Możesz skontaktować się z nami przez telefon, e -mail lub formularz online poniżej. Nasz specjalista wkrótce się z Tobą skontaktuje.

Skontaktuj się teraz!