DSP2017: Wprowadzenie do biblioteki Pandas w kontekście przygotowania modelu

Pandas

Biblioteka Pandas jest open-source’owym narzędziem do analizy danych przeznaczonym dla Pythona. Udostępnia wszystkie niezbędne operacje potrzebne do pracy z modelem w uczeniu maszynowym. Poniżej opiszę kilka podstawowych funkcji i struktur danych, które można wykorzystać w kontekście przygotowania modelu.

Wczytywanie danych:

Pandas posiada mnóstwo metod służących do wczytywania danych z różnych źródeł. Nazwy tych metod zwykle wyglądają w ten sposób: read_<<nazwa rodzaju źródła>>. Np: read_csv, read_excel, read_sql, read_html itd. Jako parametr przyjmowana jest lokalizacja pliku który chcemy wczytać.

Powyższy wiersz wczytuje do pamięci dane z pliku csv i zapisuje je w obiekcie DataFrame, który jest dwu-wymiarową tabelaryczną strukturą danych. DataFrame to, jak mówi dokumentacja, “The primary pandas data structure”. Większośc metod, które pokazuję w tym wpisie, to metody obiektu DataFrame.

Chcąc poznać rozmiary tabeli, która jest reprezentowana przez nasz dFrame możemy użyć atrybutu shape:

który jest krotką z informacją o ilości wierszy i kolumn.

Przeglądanie danych:

Gdy mamy już wczytane dane i znamy ich podstawowe właściwośći, możemy chcieć dowiedzieć się czegoś więcej na ich temat. Służy do tego metoda head, która zwraca pierwsze n wierszy, gdzie n jest parametrem tej metody (domyślnie 5):

Analogicznie działa metoda tail, z tym że zwraca wiersze od końca zbioru.

Kolejną przydatną metodą jest describe, która dostarcza statystycznych informacji o danych w kolumnach:

Sprawdzanie danych pod kątem wartości pustych:

Podczas przygotowywania modelu należy zwrócić uwagę w jakim stopniu możemy wykorzystać zbiór danych – ile danych jest “właściwych”, czyli takich które niosą ze sobą informacje możliwe do wykorzystania. Podstawową metodą będzie tutaj isnull:

Zwraca ona tablicę odpowiadającą naszemu zbiorowi danych, ale zawierającej w komórkach tylko wartości bool, określające czy dana komórka zawiera wartość null czy nie.

Chcąc określić ile wartości null’owych znajduje się w każdej z kolumn można użyć funkcji z modułu pandas – pandas.isnull – która jako parametr przyjmuje obiekt DataFrame:

Powyższy wiersz zwróci ilości wartości null’owych w każdej z kolumn.

Jeżeli mamy odpowiednio dużo wierszy w zbiorze danych, możemy w łatwy sposób pozbyć się brakujących wartości. Służy do tego metoda dropna obiektu DataFrame:

Jak widać zwraca ona nowy obiekt, który nie zawiera wartości pustych.

Sprawdzanie typów danych w zbiorze:

Informację o typach danych w kolumnach można uzyskać korzystając z atrybutu obiektu DataFrame dtypes

Sprawdzanie korelacji między kolumnami w zbiorze:

Do sprawdzenia pozostaje jeszcze głębokość korelacji między poszczególnymi kolumnami. DataFrame posiada metodę corr, która zwraca nowy obiekt dataframe, z informacjami o korelacjach w postaci numerycznej od 0 do 1. Gdzie 1 oznacza najwyższą możliwą korelację (czyli np. zduplikowaną kolumnę w zbiorze) a 0 oznacza brak jakiejkolwiek korelacji (kolumnę całkowicie nieistotną).


Myślę, że w kontekście przygotowania danych, znajomość powyższych struktur i funkcji pozwoli spokojnie rozpocząć przygodę z uczeniem maszynowym w Pythonie. Podałem tutaj podstawowe wersje metod – polecam zajrzeć do dokumentacji by dowiedzieć się więcej. Niedługo postaram się opisać podstawy biblioteki scikit-learn, również w kontekście przygotowania modelu.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *