W tym wpisie spróbuję napisać krótkie wprowadznie do modułu (biblioteki) pandas. Obiekt pandas DataFrame służy nam do prostych operacji na danych, początkowe wrażenie jest takie jak byśmy operowali na dużym arkuszu kalkulacyjnym. Róznica jest taka, że pandas potrafi dużo więcej (zobacz wpis o operacjach groupby itp.) i a operacje wykonywane są znacznie szybciej. Przed prezentacją podstaw "pandy" dodajmy, że podobne konstrukcje występują w wielu programach do obliczeń statystycznych (np. data frame albo data table w R). Przed dalszymi krokami zaimportujemy moduł komendą import pandas as pd (będziemy często odwoływać się do pandas, więc wygodnie będzie nam używać "aliasu" pd).
Utwórzmy zatem przykładowy DataFrame, złożony z 2 kolumn i 5 wierszy (co można później sprawdzić wykonując komendę df1.shape).

df1 = pd.DataFrame({"col_a": [1, 2, 3, 5, 10], "col_b": [10, 10, 20, 25, 20]})

Aby poznać podstawy, spróbujmy przeprowadzić kilka prostych operacji:

  • odwołanie do pojedynczej kolumny: df1.col_a lub df1['col_a']
  • odwołanie do kilku kolumn: df1[lista_kolumn] - np. df1[['col_a', 'col_b']]
  • odwołanie do wybranych wierszy kolumny: df1.col_a[2:4] lub df1['col_a'][2:4] (domyślnie indeksowanie tak jak w listach, czyli od zera, ale jeśli chcemy możemy zmienić indeksy)

Oczywiście na wynikach tych operacji (czyli pojedynczej kolumnie lub wycinku ramki danych) chcemy przeprowadzić obliczenia. Spójrzmy na te przykłady:

  • suma z danej kolumny: df1.col_a.sum() lub df1['col_a'].sum()(oczywiście analogicznie możemy obliczyć sumę "wycinka" - wybranych wierszy pojedynczej kolumny)
  • średnia z danej kolumny: df1.col_a.mean() lub df1['col_a'].mean()
  • podobnie możemy skorzystać z metod np.: .std() (odchylenie standardowe), .min(), .max(), .cumsum() (skumulowana suma)
  • radzenie sobie z obserwcjami - brakami danych (not a number: NaN lub np.nan): df1.dropna() () lub df1.fillna(-99) (zastąpienie NaN na podaną wartość, np. -99)
  • suma kolumn DataFrame: df1.sum(axis=0)
  • suma wierszy DataFrame: df1.sum(axis=1)

df1.head() - ogląd danych (wyświetla pierwszych kilka wierszy) df1.columns - lista kolumn c.d.n.