W poprzednich lekcjach nauczyliśmy się tworzyć DataFrame. W tej lekcji zobaczymy jak szybko i łatwo możemy uzyskać podstawowe informacje na jego temat, takie jak liczba rekordów, typy kolumn, informacje o brakujących danych Czy też w drugą stronę – informacje o zduplikowanych rekordach. Zaczynajmy!

Pod lupę weźmiemy zbiór danych lista miast, i na nim wykonamy wszystkie poniższe operacje.

import pandas as pd
miasta = pd.read_csv('c:/python/pandas/worldcities.csv')

Szybki podgląd DataFrame

Skoro mamy już masz DataFrame to warto by było do niego zajrzeć. Najprościej jest to zrobić za pomoca funkcji head(), która wyświetli 5 pierwszych rekordów:

miasta.head()

Analogiczny wynik otrzymalibyśmy stosując użycie nawiasów kwadratowych o których będziemy mówić więcej w kolejnych lekcjach:

miasta[0:5]
# lub
miasta[:5]

Oddzielając liczby znakiem dwukropka ’:’ definiujemy zakres wierszy jakie chcemy aby zostały nam wyświetlone. Zupełnie jak w przypadku listy.

Jeżeli natomiast chcieli byśmy wyświetlić tylko 'ogon’, czyli 5 ostatnich rekordów z naszego DataFrame, to możemy użyć funkcji tail()

miasta.tail()

Również bardzo łatwo możemy wyświetlić interesującą nas kolumnę. Wystarczy że w nawiasach kwadratowych podamy jej nazwę. Dla przykładu:

miasta['city']

Da nam w wyniku:

Aby szybko sprawdzić jakie wartości unikalne przyjmuje kolumna, wystarczy użyć funkcji unique():

miasta.capital.unique()

Jeżeli chcieli byśmy wyświetlić kilka konkretnych, to ich nazwy należy podać w liście:

miasta[['city', 'iso3']]

Alternatywnym sposobem jest podanie nazwy kolumny po kropce, tak jak tutaj:

miasta.city

Jednak w ten sposób możemy odwołać się tylko do jednej kolumny jednocześnie, i to pod warunkiem że jej nazwa nie zawiera spacji.No i jeszcze gwóźdź tego paragrafu, czyli jak wyświetlić konkretne wiersze dla konkretnych kolumn? Oczywiście w poprzez podanie w jednych nawiasach [] zakresu wierszy, a w drugich [] listy kolumn:

miasta[0:5][['city']]

Wielkość, szerokość i typ danych w DataFrame

Potrafimy już zajrzeć do naszego DataFrame. Pora dowiedzieć się jak łatwo możemy uzyskać informację na temat jego formy.

Mamy do dyspozycji 3 podstawowe funkcje które nam to bardzo ułatwią:

  • Shape

Zwraca informacje na temat liczby wierszy i liczby kolumn:

miasta.shape

  • Info()

Info() oferuje nam informacje na temat kolumn w naszym zbiorze, typu danych jaki jest w nich przechowywany oraz ilości rekordów które zawierają wartości. Czyli innych niż NaN

miasta.info()

  • Describe()

I kolejne spojrzenie na kolumny, tym razem zawierające podstawowe statystyki dla kolumn przechowujących liczby.

miasta.describe()

Funkcję describe możemy równiż wykonać na konkretnej kolumny. Nie musimy tego robić dla całego zbioru:

miasta.Population.Describe()

Puste wartości oraz duplikaty

Potrafimy już całkiem sporo. Jednak są jeszcze 2 czynności które praktycznie zawsze wykonuje się na samym początku po utworzeniu DataFrame. Mianowicie sprawdzenie czy nasz zbiór zawiera brakujące lub zduplikowane wartości.

  • Brakujące wartości – NaN

Podstawowe informacje na temat brakujących danych mogliśmy otrzymać za pomocą funkcji info(). Jednak mamy do dyspozycji jeszcze inne, bardzo użyteczne funkcje. Pierwszą z nich jest isnull(). Za jej pomocą otrzymamy informację czy dana komórka jest pusta czy nie:

miasta.isnull()

Jeżeli zsumujemy wyniki, to otrzymamy informację o brakujących wartościach dla danej kolumny:

miasta.isnull().sum()

Czyli na odwrót niż w przypadku informacji uzyskiwanych w przypadku funkcji info. Analogicznie mamy do dyspozycji funkcję notnull(), która zsymowana da nam wyniki takie same jak funkcja info():

miasta.notnull().sum()

  • Zduplikowane wartości

Na zakończenie tej lekcji, jeszcze jedna rzecz, mianowicie namierzenie zduplikowanych rekordów. Informację o tym czy takie rekordy mamy czy też nie, możemy uzyskać za pomocą funkcji duplicated(), natomiast pozbyć się ich możemy za pomocą funkcji drop_duplicates(). W naszym zbiorze nie ma zduplikowanych rekordów, tak wiec wartość będzie zero, jednak w kolejnych lekcjach już na takie natrafimy.

# sprawdzenie ilości duplikatów

miasta.duplicated().sum()

# usunięcie duplikatów

miasta.drop_duplicates()

Podsumowanie

W poprzednich lekcjach dowiedzieliśmy się jak utworzyć DataFrame w Pandas. W tej, jak wykonać pierwsze, podstawowe operacje zaraz po tym jak DataFrame powstanie – przejrzenie wartości, podstawowe informacje na temat jego rozmiarów oraz typów danych, zakres brakujących danych oraz informacje o zduplikowanych rekordach.

W kolejnych lekcjach dowiemy się więcej o operacjach na wierszach, kolumnach itd, ale zanim tam przejdziemy zapraszam do wykonania poniższych ćwiczeń.

Ćwiczenia

  1. Należy wydrukować tylko i wyłącznie miasto oraz kraj, dla 10 pierwszych rekordów
  2. Jakie unikalne wartości zawiera kolumna Capital?
  3. Dla ilu miast brakuje informacji o ich populacji?

Spis treści Pandas Tutorial / Kurs

  1. Pandas – Intro
  2. Pandas – przygotowanie środowiska pracy
  3. Pandas – tworzenie prostego DataFrame
  4. Pandas – odczyt i zapis do pliku
  5. Pandas – podstawowe informacje o DataFrame
  6. Pandas – indeksy oraz funkcja loc
  7. Pandas – maski
  8. Pandas – modyfikacje kolumn
  9. Pandas – funkcja apply
  10. Pandas – typy danych
  11. Pandas – grupowanie z groupby
  12. Pandas – unstack oraz tabele przestawne
  13. Pandas – łączenie zbiorów danych
  14. Pandas – SQL i bazy danych

Facebook Comments