Pandas Rolling Groupby

Pandas Rolling Groupby
Język programowania Python zapewnia bibliotekę pandy, która ma wiele metod, które wykonują proste i złożone funkcje. Pandy w Python sprawiają, że analiza danych jest bardzo prosta i łatwa. Co więcej, jest to bardzo wyjątkowy język do przeprowadzania badań danych, jednocześnie zapewniając niesamowite środowisko pakietów Pythona opartych na informacjach.

W tym artykule omówimy funkcję Grupy Rolling Pandas w Pythonie. Tutaj zademonstrujemy kilka przydatnych przykładów, które pomogą Ci dowiedzieć się o funkcji grupy Rolling Pandas i jak korzystać z tej funkcji w kodzie Python. Zacznijmy więc od definicji funkcji toczenia.

Co toczy się pandę?

Pandy zapewniają kilka przydatnych funkcji, a Rolling () jest jedną z tych wyjątkowo dobrych funkcji, które są zdolne do wykonywania złożonych obliczeń danych. Funkcja Rolling () zapewnia obliczanie okna Rolling na danych wejściowych w serii danej obiektów. Koncepcja okien toczące się głównie w danych szeregach czasowych lub przetwarzaniu sygnału.

Innymi słowy, powiedzmy, że wzięliśmy rozmiar okna „w” na raz „t” i zastosowaliśmy do niego operacje matematyczne. Rozmiar okna „w” oznacza wartości „w” kolejne na raz „t”, w których wszystkie wartości „w” są ważone.

Co to jest toczące okno?

Podstawową koncepcją okna toczenia jest obliczanie danych od podanej daty do zmiany okna toczącego. Powiedzmy, że pracownik jest w 6-miesięcznym oknie, oznacza to, że otrzymuje wynagrodzenie 1 stycznia każdego roku i kolejną pensję 1 lipca każdego roku. Proste, okno toczące się w stosunku do pierwszej daty i automatycznie do przodu z określonym czasem toczącego okna, w naszym przykładzie, jest to 6-miesięczne okno toczące.

Jak działa funkcja pandas Rolling () z DataFrame?

Funkcja Rolling () w Python Pandas zapewnia elementy zliczania okien toczenia. Idea toczącego okna w Pythonie jest taki sam jak ogólny pomysł na toczące się okno. Krótko mówiąc, użytkownik zapewnia jednocześnie ważony rozmiar okna i wykonuje na nim niektóre operacje matematyczne.

Jaka jest składnia funkcji grupy toczącego pandę?

Below, you can find the syntax of Pandas rolling groupby function.

Jak widać, funkcja Rolling () przyjmuje 8 parametrów; Windowsize, menperiod, częstotliwość, środek, wintype, on, osi i zamknięty.

Parametr „Windowsize” określa rozmiar poruszającego się okna, który jest proste słowy, liczba razy należy wykonać obliczenia i domyślnie jego wartość wynosi 1. Parametr „menperiod” określa minimalną liczbę obserwacji wymaganych w zdefiniowanym oknie. Parametr „częstotliwości” określa częstotliwość danych przed wykonaniem jakichkolwiek obliczeń statystycznych. Parametr „środkowy” określa etykietę w środku okna.

Parametr „WInType” określa typ okna. Parametr „ON” definiuje kolumnę, a nie wskaźnik ramki danych, na której należy wykonać obliczenie okna toczenia. Parametr „zamknięty” określa, który przedział musi zostać zamknięty, albo jest zamknięty na „ani”, „lewy”, „prawy”, albo „oba” punkty końcowe.

I wreszcie parametr „osi” zapewnia wartość osi w formacie całkowitej lub ciągu, a domyślnie wynosi 0. Przejdźmy teraz do przykładów, aby dowiedzieć się, jak uwzględnić funkcję Rolling () w naszym kodzie Python i jak działa funkcja Rolling () w Python z DataFrame.

Przykład 1

Teraz zacznijmy od utworzenia prostej ramki danych, której musimy użyć w funkcji Rolling (). 5 Wartości są zdefiniowane w ramce danych, które wynoszą 10, 18, 50, 70 i NP.Nan. Następnie po prostu wywołamy funkcję Rolling () i zapewnimy rozmiar 3 okna. Oto kod funkcji grupy Rolling Group:

importować pandy jako PD
importować Numpy jako NP
df = pd.DataFrame ('z': [10, 18, 50, 70, NP.nan])
Wydrukuj (DF.Rolling (3).suma())

Poniżej znajduje się wyjście powyższego kodu. Zauważ, że pierwsze 2 wartości to NAN, podczas gdy trzecia wartość wynosi 78, która jest sumą poprzednich 3 wartości 10, 18 i 50. Jak zapewniliśmy rozmiar 3 okna, funkcja toczenia wykonała kalkulator po trzech oknach. Czwarta wartość 138 to suma trzech poprzednich wartości, które wynoszą 18, 50 i 70. Zauważ, że ostatnia wartość jest znowu nan, nie dlatego, że rozmiar okna jest wygasł lub coś innego, to dlatego, że 5. wartość wejściowa jest nan. Więc wszystko dodane do NAN będzie Nan.

Przykład 2

Widzieliśmy prosty przykład funkcji Rolling (). Utwórzmy teraz typ danych danych, aby zrozumieć, jak działa funkcja Rolling () na datę/godzinie danych. Tutaj będziemy używać tej samej ramki danych, którą utworzyliśmy w poprzednim przykładzie, ale teraz dodamy kolumnę indeksu określającą wartość znacznika czasu dla każdej kolumny. Zobacz dodatkową kolumnę indeksu w poniższym kodzie:

importować pandy jako PD
importować Numpy jako NP
df_time = pd.DataFrame ('B': [10, 18, 50, 70, NP.nan],
indeks = [PD.Znacznik czasu („20220101 10:00:00”),
Pd.Znacznik czasu („20220101 10:00:01”),
Pd.Znacznik czasu („20220101 10:00:02”),
Pd.Znacznik czasu („20220101 10:00:03”),
Pd.Znacznik czasu („20220101 10:00:04”)])
df_time
Drukuj (df_time.Rolling („5s”).suma())

Po wykonaniu funkcji Rolling () danych znaczników czasu otrzymamy następujące dane wyjściowe:

Przykład 3

W tym przykładzie pomożemy dowiedzieć się, jak określić funkcję menperiod dla funkcji Rolling (). Jak omówiono powyżej, parametr menperod funkcji Rolling () określa minimalną liczbę obserwacji wymaganych do wykonywania operacji matematycznej. Tutaj ponownie obliczamy sumę z końcącym oknem rozmiar 3 i menperiod 1. Zobacz kod poniżej:

importować pandy jako PD
importować Numpy jako NP
df = pd.DataFrame ('z': [10, 18, 50, 70, NP.nan])
Wydrukuj (DF.Rolling (2, min_periods = 1).suma())

Oto wyjście kodu podanego powyżej.

Wniosek

W tym artykule wykazaliśmy zastosowanie funkcji Rolling () w Pythonie. Za pomocą prostych przykładów zaobserwowaliśmy, jak działa funkcja Rolling () z ramami danych. Wszystkie powyższe kody można zaimplementować na dowolnym kompilatorze Python.