1.1. Python Numerical Analysis Program

1.1.1. Polish

1.1.1.1. Program

  1. Biblioteki używane w analizie numerycznej i Data Science

    • Scipy: wprowadzenie do ekosystemu narzędzi

    • Jupyter: instalacja, uruchamianie, korzystanie, latex, zaawansowane opcje

    • Markdown: krótkie wprowadzenie do składni i możliwości

  2. (opcjonalnie) Python i wprowadzenie do programowania

    • Składnia: komentarze, docstring, doctest, zmienne, print

    • Typy: int, float, str, bool, None

    • Sekwencje: tuple, list, set, zagnieżdżone struktury danych

    • Mapy: dict

    • Operatory: numeryczne, logiczne

    • Konstrukcje warunkowe: if, else, elif

    • Pętle: for, while, comprehensions

    • Instrukcje przepływu: exception, pliki, rozpakowywanie

    • Funkcje: zwracanie wartości, argumenty pozycyjne, nazwane, wymagane, domyślne, args, kwargs

    • Programowanie obiektowe: klasy, atrybuty, metody, dziedziczenie, przeciążanie operatorów

    • Pakiety: instalacja, używanie, venv

    • Matematyka: precyzja, liczby losowe, statystyka, liczby zespolone

    • Daty i czas: parsowanie i formatowanie, strefy czasowe

  3. Zagadnienia wydajnościowe

    • Micro-benchmarking

    • Złożoność obliczeniowa i pamięciowa

    • Pamięć: Architektura RAM, kopiowanie i referencje

    • Techniki pracy z danymi większymi niż ilość RAMu

    • Generatory i Iteratory

    • Triki zwiększające wydajność

  1. Numpy i analiza numeryczna

    • Typy wbudowane i stałe: array, poly1d, nan, inf

    • Import i export danych, serializacja, łączenie

    • Definiowanie tablic: tworzenie, generowanie, opis typu

    • Pseudolosowość: Problematyka, ziarno, sampling, tasowanie

    • Atrybuty: typy danych, kształt, wielkość, rozmiar danych, osie

    • Wybieranie: indeksacja, wycinanie, fancy indexing

    • Iteracja: operacje zwektoryzowane, funkcje uniwersalne, zmiana wymiarów, spłaszczanie

    • Manipulacja: zaokrąglanie, przycinanie, wstawianie, wypełnianie, transpozycja, sortowanie

    • Arytmetyka: operacje arytmetyczne i macierzowe, wyznaczniki

    • Statystyka: ekstrema, wariancja, odchylenie standardowe, średnie, mody, kowariancje, korelacje

    • Logika: operatory, wybieranie, maski, where

    • Trygonometria: funkcje, konwersje, stałe

    • Wielomiany: współczynniki, miejsca zerowe, pierwiastki, dopasowanie wielomianów, arytmetyka, pochodne, całki

  2. Pandas i obróbka danych

    • Konfiguracja biblioteki oraz wyświetlania

    • Import i export danych, serializacja, łączenie

    • Typy danych: Series, DataFrame, SparseArray, Interval, Categorical

    • Daty: frequency, Timestamp, strefy czasowe, Timedelta, DateOffset, Date Ranges

    • Indeksy: numeryczne, alfabetyczne, szeregi czasowe

    • Series: tworzenie, atrybuty, indeksy, slice, wypełnianie, podmiana, usuwanie, arytmetyka, sampling, tasowanie

    • DataFrame podstawy: tworzenie, indeksy, kolumny, slice, wybieranie wartości, locate, at, sampling, tasowanie

    • DataFrame zaawansowane: statystyki, grupowanie, agregacje, join, wykresy

    • Architektura i plany rozwoju Pandas

  3. Matplotlib i wizualizacja

    • Porównanie z Bokeh, Seaborn, Plot.ly

    • Anatomia wykresu i możliwości modyfikacji, dostosowywanie wykresów

    • Proste wykresy, przykłady wykresów

    • Eksport i formaty wyjściowe

    • Praca z wieloma wykresami na jednym obrazku

    • Wykresy: punktowe, liniowe, box, słupkowe, pie, 3D,

    • Stylowanie wykresów

1.1.1.2. Survey

  1. Ile masz lat doświadczenia z programowaniem (poza programowaniem w Pythonie)?

    • 0 - 1 lat

    • 1 - 3 lat

    • 3 - 5 lat

    • 5 - 10 lat

    • powyżej 10 lat

  2. Ile masz lat doświadczenia w programowaniu w Pythonie?

    • 0 - 1 lat

    • 1 - 3 lat

    • 3 - 5 lat

    • 5 - 10 lat

    • powyżej 10 lat

  3. Do jakich zastosowań chciałbyś wykorzystać Pythona [można zaznaczyć wiele]

    • Administracja systemami, provisioning

    • DevOps, CI/CD, automatyzacja testów

    • General purpose programming

    • Programowanie sieciowe

    • Programowanie webowe

    • Analiza numeryczna, data science, machine learning

    • Nauka, inżynieria

    • Bezpieczeństwo sieciowe, systemów komputerowych

    • do zabawy lub nauki programowania

    • inne...

  4. Na co chciałbyś abym zwrócił szczególną uwagę podczas szkolenia

    • [pytanie otwarte]

  5. Potwierdzam zapoznanie się z programem szkolenia:

  6. PS. Szkolenie będzie prowadzone wg. materiałów zamieszczonych w internecie na stronie:

1.1.1.3. Certificate

Szkolenie obejmowało 24 godzin wykładów oraz warsztatów i pokrywało zagadnienia związane z:

  • problematyką analizy numerycznej danych,

  • wprowadzeniem do ekosystemu narzędzi scipy,

  • wykorzystaniem bibliotek do analizy numerycznej (numpy, pandas),

  • tworzeniem i pracą z notebookami z Jupyter,

  • ekstrakcją danych z różnych formatów (JSON, CSV, HTML, SQL),

  • generowaniem wykresów i wizualizacją danych (matplotlib, plotly, bokeh, seaborn),

  • zagadnieniami wydajnościowymi.

1.1.1.4. Agenda

Breaks:

  • 5 min every hour

  • 1 hour launch break 12:00-13:00

Day 1:

  • 09:00 - 09:15 - Course introduction and organizational issues

  • 09:15 - 10:00 - Environment setup and configuration, virtualenv, packages, installing modules

  • 10:00 - 12:00 - Jupyter and introduction to scipy ecosystem

  • 12:00 - 13:00 - Lunch Break

  • 13:00 - 17:00 - Numpy: working with files and input, np.array

Day 2:

  • 09:00 - 12:00 - Numpy: slice, index, np.array methods, logic operators

  • 12:00 - 13:00 - Lunch Break

  • 13:00 - 17:00 - Pandas: series, data frames, methods, indexes slicing, time series

Day 3:

  • 09:00 - 12:00 - Pandas: methods, grouping, aggregations, plotting

  • 12:00 - 13:00 - Lunch Break

  • 13:00 - 16:00 - Matplotlib: plotting, styles, comparison with other libs

  • 16:00 - 17:00 - Short introduction to sklearn (as per request)