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.
W tym samouczku dowiesz się, jak ponownie próbkować dane szeregów czasowych za pomocą Pand. Możesz obejrzeć pełny film tego samouczka na dole tego bloga .
Skąd pomysł na ponowne próbkowanie? Jest to związane z danymi szeregów czasowych, a my zmienimy częstotliwość raportowania tych danych. Na przykład zmiana wartości rocznej na miesięczną lub tygodniową albo zmiana danych godzinowych na dzienne. Krótko mówiąc, zmieniamy poziom w hierarchii.
Można to wykorzystać z wielu powodów, takich jak uzyskiwanie bardziej wiarygodnych trendów , rozmiarów próbek i sezonowości . W niektórych raportach bardziej sensowne będzie użycie jednego poziomu hierarchii zamiast innego.
Ponadto ponowne próbkowanie może pomóc, jeśli masz różne źródła danych i musisz przeprowadzić łączenie danych szeregów czasowych. Pomoże to również w przypadku niezgodności w hierarchii .
Aby jeszcze bardziej to rozbić, mamy próbkowanie w dół i w górę.
Downsampling ma na celu zmniejszenie częstotliwości raportowania . Może to być na przykład konwersja z sekundy na godzinę, aby mieć mniej wartości lub próbkowanie w dół z miesiąca na kwartał.
Z drugiej strony upsampling ma na celu zwiększenie częstotliwości raportowania z poziomu miesiąca do dnia . Więcej przykładów tego będziemy mieli później.
Spis treści
Jak ponownie próbkować dane szeregów czasowych za pomocą pand
Jak mamy to zrobić w Pandach?
Przede wszystkim zmienimy indeks na naszą kolumnę danych szeregów czasowych . Następnie możemy dokonać próbkowania w górę za pomocą interpolacji, która wypełni wartości, i możemy dokonać próbkowania w dół, aby zwinąć, agregując wartości.
Przejdźmy do Jupyter Notebook Python i sprawdźmy to z Pandas.
Na początek użyjemy Pandas, wpisując import pandas jako pd , następnie import seaborn as sns w celu wizualizacji oraz import matplotlib.pyplot jako plt w celu dostosowania wizualizacji Seaborn .
Następną rzeczą do zrobienia jest pobranie danych z import data vega_datasets . To miłe miejsce na pobieranie przykładowych źródeł. Ponadto otrzymamy bibliotekę sp = data.sp500 ( ) i sp.head ( ) .
Oto nasze dotychczasowe dane. Mamy codzienne zwroty i ceny na każdy dzień.
Aby ustawić kolumnę indeksu na datę, wpisz sp.set_index(['date'], inplace=True), a następnie ponownie wywołaj sp.head .
Korzystanie z upsamplingu w celu uzyskania wartości
Następnie, aby mieć więcej wartości, użyjmy upsamplingu. Ponieważ mamy dane dla każdego dnia, możemy przejść do godziny, używając najprostszej funkcji, jaką jest sp [['cena']]. resample ('H').fill() , a następnie uruchom go. H oznacza godzinę, M miesiąc, D dzień i tak dalej. Możesz dowiedzieć się więcej na ten temat w dokumentacji Pandy .
Jak widać, 1 stycznia o północy cena wynosi 1394,46, tyle samo co w kolejnych godzinach od 1:00 do 4:00. Innym przykładem jest 2 stycznia, kiedy cena zamknięcia wynosi 1366,42.
Istnieją inne sposoby, aby to zrobić, nawet jeśli wartość nie jest dostępna na poziomie godzinowym. Ponadto istnieją bardziej wyrafinowane sposoby niż zwykłe wypełnianie w przód . W naszym przykładzie to, co zrobiliśmy, jest podstawowym sposobem na interpolację upsamplingu.
Następnie przejdźmy do próbkowania w dół, wpisując avg_month = sp [['price]].resample ('M').mean ( ) , a następnie avg_month.head ( ) i uruchom go, aby sprawdzić.
Jak pokazano na ilustracji, widzimy ostatni dzień każdego miesiąca i średnią cenę. Możemy zmniejszyć próbki, aby miały mniej wartości lub to, co nazywamy zmniejszeniem.
Aby to zwizualizować, wpiszmy ponownie narysowane wymiary. Następnie sns.lineplot . Wykres liniowy działa lepiej z dłuższą osią X, podczas gdy wartość Y jest średnią ceną miesięczną.
Aby zobaczyć średnią cenę dla wykreślonego miesiąca, uruchommy to.
Ponownie, istnieje wiele różnych sposobów, w jakie możemy to zrobić. Na przykład, jeśli chcemy poznać najniższą cenę kwartalną, wszystko, co musimy zrobić, to wpisać kwarta_niska , a następnie kwarta_niska.head , aby go uruchomić.
Tak więc możemy teraz zobaczyć najniższą kwartalną wartość znalezioną w każdym kwartale. W ten sposób wykonuje się ponowne próbkowanie.
Obsługa brakujących danych w Pythonie przy użyciu metody interpolacji
MultiIndex w pandach dla wielopoziomowych lub hierarchicznych
zestawów danych w pandach z ProfileReport | Python w LuckyTemplates
Wniosek
Podsumowując, Pandy są naprawdę stworzone do ponownego próbkowania i danych szeregów czasowych . Jeśli pracujesz na danych szeregów czasowych i masz różne poziomy szczegółowości, ponowne próbkowanie może być bardzo pomocne.
Ponadto przeczytaj dokumentację Pandas dotyczącą metody ponownego próbkowania, aby dowiedzieć się, jak to zrobić na wiele różnych sposobów. Przyjrzeliśmy się podstawowym, ale możesz robić takie rzeczy, jak co dwa tygodnie, ostatni dzień roboczy miesiąca i więcej opcji ponownego próbkowania.
Wszystkiego najlepszego,
Jerzego Mounta
W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.
Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.
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
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.
Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.
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.
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.
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ł.
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.