Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

Interpolacja to metoda generowania punktów pomiędzy zadanymi punktami. W tym samouczku pokażę, jak można wykorzystać interpolację do obsługi brakujących danych w Pythonie. Możesz obejrzeć pełny film z tego samouczka na dole tego bloga.

W Pythonie interpolacja jest techniką używaną najczęściej do przypisania brakujących wartości w ramce danych lub serii danych podczas wstępnego przetwarzania danych. Pokażę, jak można użyć tej metody do oszacowania brakujących punktów danych w danych przy użyciu języka Python w usłudze LuckyTemplates.

Jeśli spojrzymy na nasze oryginalne dane poniżej, które są przedstawione na górnym wykresie, zobaczymy, że jest wiele dziur lub brakujących danych, których nie możemy przedstawić na wykresie, ponieważ nic tam nie ma. Ale na dolnym wykresie widzimy, że dokonaliśmy pewnych szacunków, aby dowiedzieć się, jak te dane mogą wyglądać. Rzeczywiste dane są reprezentowane w kolorze jasnoniebieskim, podczas gdy dane interpolowane są w kolorze ciemnoniebieskim.

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

Mamy do czynienia z kilkoma różnymi rodzajami oszacowań. Zrobimy interpolację liniową, najbliższą interpolację, a następnie ważoną interpolację czasu. Każdy z nich da nam nieco inne wyniki.

Powyższy przykład wykorzystuje ważoną interpolację czasu, która wygląda prawie tak samo jak interpolacja liniowa, z wyjątkiem tego, że jest ważona na podstawie dni. Liniowa oszacowała dane na podstawie nachylenia między tymi dwoma punktami danych. Najbliższa interpolacja ma bardziej płaski typ oszacowania, jak widać poniżej, gdzie przyjrzeliśmy się najbliższej wartości i byliśmy w stanie oszacować, co istnieje między tymi dwoma.

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

Przejdźmy więc do notatnika Jupyter i przynieś to.

Spis treści

Jak używać interpolacji w obsłudze brakujących danych w Pythonie

Możesz użyć Edytora skryptów do napisania wszystkiego, ale jest to łatwiejsze. Otrzymasz więcej opinii w notesie Jupyter. Udokumentujmy więc, co robimy. Kiedy skopiujemy i wkleimy to do naszego edytora skryptów Pythona, będzie to bardzo czyste i przejrzyste.

Zaimportujmy biblioteki, które chcemy, a następnie zaimportujemy Pandy i zapiszemy je jako zmienną PD. Zaimportujemy Numpy i zapiszemy go jako zmienną NP. Pandas to biblioteka do manipulacji danymi, podczas gdy Numpy pozwala nam również manipulować danymi i daje nam pewną algebrę liniową.

Chcemy wprowadzić nasz zestaw danych i zapiszemy go jako zmienną df . A my po prostu użyjemy zmiennej Pandas ( pd ) i użyjemy funkcji read.csv . Następnie skopiujemy i wkleimy tam, gdzie ten plik istnieje na naszym komputerze. Mój znajduje się w moim katalogu roboczym, więc wszystko, co muszę zrobić, to napisać machine.csv i umieścić to w nawiasach.

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

Przyjrzyjmy się naszemu zbiorowi danych za pomocą zmiennej df. Możesz zobaczyć, że trwa to od 1 stycznia 2022 r., aż do 25 grudnia. To kolejne dni aż do 15-go, potem brakuje czterech dni 19-go, potem są trzy dni brakujące, kiedy dochodzimy do 22-go, i dwa dni brakujące 25-go.

Dni, które są pomijane, nie zawierają brakujących danych. To po prostu nie jest dane w naszym zbiorze danych. Tym, z czym będziemy mieli do czynienia, są brakujące dane, które, jak widzisz, są reprezentowane przez te NaN lub brak wartości.

Teraz, gdy mamy już nasz zestaw danych, użyjmy naszych różnych typów interpretacji i zapiszmy je jako różne kolumny. Widzimy, że mamy obiekt , który jest reprezentowany przez tekst, a także pływak .

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

Zamierzam wyizolować kolumnę Data za pomocą notacji nawiasów. Następnie użyję równań, aby to przypisać. Zamierzam użyć zmiennej pd , a następnie użyję funkcji to_datetime. Następnie zamknę tę funkcję nawiasami i dodam w kolumnie Data.

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

Widzimy, że teraz mamy Date jako właściwy typ danych.

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

Mamy tutaj indeks, który jest oznaczony cyframi od 1 do 18. Kiedy robimy Linear, użyjemy tych liczb do stworzenia liniowego połączenia między istniejącymi punktami danych. Ale chcemy również móc korzystać z interpolacji ważonej czasem, która patrzy na czas i daje nam wyniki oparte na rzeczywistych dniach. Chcemy ustawić kolumnę Data jako indeks, abyśmy mogli z niej skorzystać.

Zamierzam użyć zmiennej ramki danych (df) i zrobić set_index. Musimy przekazać parametr o nazwie inplace , aby upewnić się, że zostanie on przekazany na stałe. Więc użyję inplace równa się true, a następnie wcisnę shift i enter. I dzięki temu widać, że indeks numeryczny zniknął i mamy indeks Datetime.

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

Teraz możemy zacząć budować te kolumny, które chcemy. Zbudujmy kolumnę, w której interpolujemy najbliższy punkt danych, który wypełni te brakujące wartości najbliższą wartością. Chcemy utworzyć kolumnę o nazwie users_nearest i chcemy przypisać ją do kolumny Users .

Chcemy utworzyć kolumnę o nazwie user_nearest i chcemy przypisać ją do kolumny użytkownika. A teraz, gdy mamy tę kolumnę wyizolowaną, możemy użyć funkcji interpolacji i możemy nacisnąć klawisz Shift-Tab, aby zobaczyć, jakie parametry przyjmuje ta funkcja. Istnieje wiele różnych rodzajów metod.

Możesz zobaczyć, że domyślna jest liniowa, a jeśli chcesz, aby zobaczyła wszystkie różne metody, jest w tym informacja. Możesz otworzyć to do końca i jest tu wiele informacji, które dadzą ci wiele wglądu. Ale zawsze lepiej jest zejść na stronę Pandas i po prostu zobaczyć, jakie są różne rodzaje interpolacji.

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

Teraz przekażemy metodę, którą chcemy, i użyjemy metody Najbliższej Interpolacji. Wszystko, co musimy zrobić, to uruchomić to i widać, że tworzona jest kolumna. Jeśli spojrzymy na tę konkretną linię, możemy zobaczyć, że jest to brakująca wartość. I widzicie, że zostało to interpolowane, gdzie wzięto najbliższą wartość i dodano ją tutaj. Jak widać, nie mamy już brakujących wartości dla tego konkretnego wiersza.

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

Teraz skopiujmy to dwukrotnie i zmieńmy nazwy tych kolumn na user_linear i user_time . Zmienimy również metody, aby pasowały do ​​naszych nagłówków. Możemy przesuwać i wchodzić, i widać, że stworzyliśmy trzy kolumny oparte na różnych typach metod interpolacji.

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

Następnie chcę utworzyć jeszcze jedną konkretną kolumnę, która pozwoli nam wskazać, które z nich są puste, jak flaga w naszych danych. Użyjemy do tego Numpy.

Stworzymy więc nową kolumnę o nazwie df , a następnie nazwiemy ją flagą. Przypiszemy to tym znakiem równości. Następnie użyjemy np , która jest naszą zmienną Numpy. A potem użyjemy funkcji where , która jest funkcją warunkową. Ustawiamy warunek, a następnie otrzymujemy przykład dla prawdy i fałszu. Używamy podwójnych równości, które są równe w Pythonie. Kiedy to prawda, chcemy powiedzieć Missing Data . Inną opcją będzie Data .

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

Możemy użyć tej flagi w naszej wizualizacji. Gdy jesteśmy w twoim notatniku, przejdź do transformacji i naciśnij Uruchom skrypt Pythona. Teraz jest kilka różnych kroków. Musimy sprawić, by to działało w środowisku LuckyTemplates .

Mamy tutaj wszystkie nasze kody i musimy dodać jeszcze kilka kroków. Po pierwsze, gdy mamy do czynienia z datą i godziną, musimy dodać parametr błędu, który mówi, że jeśli mamy jakieś błędy, możesz wymusić lub spróbować to zmienić. Więc wstawię tutaj błędy równe , a następnie nawiasy wymuszające . Następnie musimy ponownie przypisać zmienną zestawu danych jako df.

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

Kiedy klikniemy OK, pojawi się kolejny błąd i właśnie to musimy zrobić, aby to naprawić. Jeśli przejdziemy przez nasze kroki, nie musimy mieć formatowanej daty. Pozwolimy Pythonowi pracować z datami, ponieważ daty są unikalne dla każdej platformy. Pierwszą rzeczą, którą musimy zrobić, to pozbyć się Changed Type .

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

Nie mamy kolumny Data, ponieważ data jest indeksem. Więc wracamy do naszego skryptu Pythona, a następnie po prostu resetujemy nasz indeks, df.reset_index . Mówimy, że chcemy zresetować go do obejścia kolumny Date w tym nawiasie, a następnie chcemy zrobić inplace = true .

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

A teraz mamy datę i wszystkie inne typy danych są kompletne.

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji

Jeśli umieścimy to w wizualizacji, tak to wygląda w trzech różnych metodach interpolacji w obsłudze brakujących danych w Pythonie.

Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji


Kursy walut w usłudze LuckyTemplates: obsługa brakujących danych
Skrypty w języku Python w raportach danych usługi LuckyTemplates
Jak załadować przykładowe zestawy danych w języku Python

Wniosek

W tym samouczku poznałeś trzy metody interpolacji w obsłudze brakujących danych w Pythonie . Omówiliśmy metody interpolacji liniowej, najbliższej i ważonej w czasie.

Mam nadzieję, że uznasz to za przydatne i zastosujesz w swojej pracy. Możesz obejrzeć pełny samouczek wideo poniżej, aby uzyskać więcej informacji i sprawdzić poniższe linki, aby uzyskać więcej powiązanych treści na temat obsługi brakujących danych w Pythonie.

Wszystkiego najlepszego!

Gaelim

Leave a Comment

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.

Funkcje zbierania w Microsoft Power Automate

Funkcje zbierania w Microsoft Power Automate

Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.

Oceń wydajność kodu DAX w DAX Studio

Oceń wydajność kodu DAX w DAX Studio

Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.