Opanowanie Pand: ważne funkcje Pand dla Twojego następnego projektu
Opublikowany: 2020-11-30Biblioteka Pandas od zawsze jest ulubioną przez wszystkich Data Scientists lub analityków ze względu na łatwość użycia, szeroki zakres funkcjonalności i lepszą interpretację wyników. Każda osoba rozpoczynająca swoją przygodę z Data Science powinna mieć dobrą kontrolę nad pandami, wymyślać potoki, aby zmniejszyć ręczne czyszczenie i wstępne przetwarzanie danych.
Pandas jest zbudowany na Numpy, co pozwala na szybsze wykonywanie poleceń i wykonanie pracy w krótszym czasie. W tym artykule podzielimy się niektórymi niedocenianymi funkcjami pand, które mogą wzbogacić jakość kodu twojego projektu.
Zanim przejdziemy dalej, oto krótka legenda:
- Wszystkie wymienione polecenia zakładają, że ramka danych ma nazwę „df”, która jest obiektem pd.DataFrame()
- Biblioteka Pandas została zaimportowana jako alias jako „pd”.
Spis treści
Akcesoria do strun
Dane tekstowe lub tekstowe wnoszą główną część do zestawu danych. Niezależnie od tego, czy są to informacje związane z autorem, tytułem, publikacją książki, czy tweetami tworzonymi dla konkretnego hashtagu, mamy dużo danych tekstowych i te dane przydają się, gdy zostaną odpowiednio wyczyszczone i przesłane do dowolnego klasyfikatora, takiego jak Naive Bayes itp. Oto kilka sztuczek, które możesz zastosować:
- Aby uzyskać dostęp do danych typu ciągu, użyj akcesora „str”. Na przykład df['nazwa_kolumny'].str
- Umożliwia to wykonanie wszystkich operacji na ciągach na wybranej kolumnie.
- Niektóre typowe operacje obejmują:
- df['nazwa_kolumny'].str.len(): długość każdego ciągu
- .str.split(): Dzielenie według określonego znaku
- .str.contains(): Zwraca T/F o tym, czy dane słowo występuje w ciągu znaków
- .str.count(): Zwraca liczbę wierszy spełniających przekazane wyrażenie regularne.
- .str.findall(): Zwraca wyniki zgodne z przekazanym wyrażeniem.
- .str.replace(): To samo co findall, ale tutaj następuje zamiana dopasowanych elementów
- Obsługiwane są wszystkie operacje na ciągach znaków, takie jak .title, .isalpha, .isalnum, .isdecimal itp.
Przeczytaj także: Pandas Dataframe Astype
Akcesory daty i godziny
Daty i godziny są zwykle obecne w zestawach danych w postaci sygnatur czasowych, czasu rozpoczęcia, czasu zakończenia lub innego czasu związanego z tym wydarzeniem. Przydatne jest prawidłowe przeanalizowanie tych danych, ponieważ dają one trendy wzdłuż osi czasu, które można przedstawić w celu przewidzenia przyszłych wydarzeń lub nazywamy cytowanie ich analizą szeregów czasowych. Zobaczmy kilka przydatnych poleceń:
- Aby uzyskać dostęp do danych DateTime, przekonwertuj bieżący typ danych (wartości dat są analizowane jako ciąg lub obiekt) na DateTime za pomocą funkcji pd.to_datetime().
- Teraz, używając akcesora „.dt”, możemy uzyskać dostęp do wszelkich wymaganych informacji DateTime, takich jak:
- df['nazwa_kolumny'].dt.day: Zwraca dzień daty.
- .dt.czas: Czas
- .dt.rok: Rok daty
- .dt.miesiąc: Miesiąc daty
- .dt.weekday: Czy jest niedziela, poniedziałek… w postaci liczbowej, gdzie 0 oznacza poniedziałek. Jeśli chcesz nazw dni, użyj .dt.day_name
- .dt.is_month_start: Zwraca T/F w zależności od tego, czy data jest pierwszym dniem miesiąca.
- .dt.is_month_end Ta sama funkcjonalność co month_start, ale tutaj weryfikowana jest ostatnia data miesiąca.
- .dt.quater: Zwraca, w którym kwartale przypada data
- .dt.is_quater_start: Zwraca T/F bez względu na to, czy data jest pierwszym dniem kwartału
- .dt.is_quater_end: czy jest ostatni dzień kwartału
- .dt.normalize: Gdy składnik czasu nie wnosi wartościowego wkładu do analizy, można go zignorować. To polecenie zaokrągla czas do północy, tj. 00:00:00.
Pandy kreślą
Wizualizacje kreślenia są jednym z kluczowych elementów analizy danych i odgrywają ważną rolę podczas wykonywania inżynierii funkcji. Na przykład wartości odstające w zbiorze danych można wykryć za pomocą wykresów skrzynkowych, które reprezentują medianę i zakres międzykwartylowy, pozostawiając wartości odstające na skrajnych końcach.

Kreślenie odbywa się głównie za pośrednictwem innych bibliotek, takich jak seaborn, plotly, bokeh, matplotlib, ale kiedy chcesz natychmiast wizualizować dane bez wyraźnego definiowania bibliotek? Pandy znalazły rozwiązanie. Używając funkcji pd.plot(), możesz bezpośrednio wykreślać wykresy, które są wywoływane wewnętrznie za pomocą matplotlib. Dostępne są różne opcje:
- df.plot() lub df['nazwa_kolumny'].plot() (w zależności od typu wykresu)
- df.plot() posiada parametr „rodzaj”, który definiuje wykres. Domyślnie jest to wykres „liniowy”, ale inne dostępne opcje to „bar”, „barh”, „box”, „hist”, „kde” itp.
- Wywołuje backend matplotlib, co oznacza, że możemy uzyskać dostęp do jego argumentów za pomocą akcesora „ax”.
- Funkcja .plot() może również przyjmować takie argumenty, jak „tytuł”, „xticks”, „xlim”, „xlabel”, „rozmiar czcionki”, „mapa kolorów”, co w pewnym stopniu eliminuje potrzebę definiowania bibliotek zewnętrznych.
Różne funkcje
- pd.get_dummies(): Podczas wstępnego przetwarzania danych czasami napotykamy dane kategoryczne, które należy przekonwertować na postać liczbową, aby można je było wprowadzić do modelu. Gdy te kategorie są dość niskie, preferowane jest kodowanie „one-hot”, ale wykonanie tego ręcznie wymaga czasu. Ta funkcja fikcyjna nie tylko przekształca wartości, ale jeśli drop_first jest ustawiona na True, usuwa poprzednią kolumnę zawierającą wszystkie kategorie.
- df.query(): Jest to funkcja, która pozwala zastosować maskę warunkową na ramce danych. Podstawowa różnica między tym maskowaniem a normalnym maskowaniem polega na tym, że ta funkcja bezpośrednio zwraca wartości zamiast maski logicznej, zmniejszając wysiłek związany z tworzeniem maski i stosowaniem jej do ramki danych.
- df.select_dtypes(): Czasami musimy wykonać określone zadania na jednym typie danych. Na przykład podczas odczytywania danych z plików zewnętrznych niektóre typy danych są definiowane jako obiekty. Podczas czyszczenia danych zbiór danych musi zawierać wszystkie poprawne typy danych, a robienie tego ręcznie przez df.astype('typ danych') byłoby nużące, gdy liczba takich typów danych jest duża. Ta funkcja wybiera określony typ danych i może być łączona z funkcją .apply(). Przykładowy kod wyglądałby tak:
df.select_dtypes(object).apply(astype(str))
Musisz przeczytać: Pytania do wywiadu z Pandami
Wniosek
To przypisanie jest określane jako tworzenie łańcuchów i jest bardzo powszechne podczas wykonywania zadań analizy danych w celu zmniejszenia wysiłku związanego z definiowaniem zmiennych dla każdego wykonywanego kroku.
Jeśli chcesz dowiedzieć się czegoś o Pandach, sprawdź dyplom PG IIIT-B i upGrad w dziedzinie Data Science, który jest stworzony dla pracujących profesjonalistów i oferuje ponad 10 studiów przypadków i projektów, praktyczne warsztaty praktyczne, mentoring z ekspertami branżowymi, 1-on -1 z mentorami branżowymi, ponad 400 godzin nauki i pomocy w pracy w najlepszych firmach.