Menu Zamknij

Python Data Science

Opis kursu

  • Płacisz za jeden miesiąc nauki.
  • Uczysz się tak długo, jak potrzebujesz.
  • Pełne wsparcie na każdym etapie nauki.
  • Pytasz o wszystko, tyle razy, ile potrzebujesz i wtedy, kiedy chcesz. Szybko otrzymasz odpowiedź.
  • Spotkania 1:1 online + nagranie ze spotkania.
  • Plan nauki dopasowany do Ciebie.
  • Dużo zadań i projektów praktycznych.
  • Stały feedback na Twój kod i strukturę projektów.
  • Uczysz się w swoim tempie.
  • Motywuję Cię do pracy i dbam o Twoje postępy.
  • Portfolio w kilka miesięcy.
  • Szukasz pracy w trakcie kursu.
  • Otrzymasz certyfikat ukończenia kursu.
promocja ikona

PROMOCJA – pierwsze spotkanie GRATIS

Już teraz

zapisz się na kurs​

Zostaw swoje namiary, a skontaktuję się z Tobą w sprawie kursu

    * - pola obowiązkowe

    Administratorem danych osobowych jest KM PROGRAMS KRZYSZTOF MAKOWSKI z siedzibą przy ul. Cicha 7, 42-454 Niegowonice, Polska. Dane osobowe osób korzystających z formularza kontaktowego przetwarzane są w celu identyfikacji nadawcy oraz obsługi zapytania przesłanego przez udostępniony formularz. Więcej informacji o przetwarzaniu danych osobowych, w tym o przysługujących Ci uprawnieniach, znajduje się w Polityce Prywatności.

    Plan kursu

    Znasz już język Python? Świetnie – możesz od razu przejść do nauki zagadnień z tego kursu. Dopiero zaczynasz? Nie ma problemu! Uczysz się języka Python razem ze mną – od podstaw – i równolegle realizujesz wybrane tematy z kursu Python Data Science. Sprawdź mój kurs Python Dzięki niemu od razu przerobisz kluczowe zagadnienia z analizy danych, a potem płynnie uzupełnisz je o pozostałe treści z tego kursu. W praktyce oznacza to, że uczysz się jednocześnie z dwóch kursów, a wszystko z moją pomocą krok po kroku. To praktyczna ścieżka, która szybciej zaprowadzi Cię do kariery w IT.

    • Omówienie podstawowych zagadnień z zakresu Data Science
    • Przegląd i porównanie środowisk programistycznych
    • Konfiguracja środowiska Google Colab
    • Konfiguracja środowiska GitHub Codespaces 
    • Konfiguracja środowiska Anaconda
    • Praca z managerem pakietów conda.
    • Implementacja skryptów w Jupyter Notebook

    W tej sekcji poznasz bibliotekę NumPy, która służy do realizowania wydajnych obliczeń numerycznych i operacji na tablicach / macierzach. Jest to podstawowa biblioteka, którą programista Python wykorzystuje w Data Science. Na niej opiera się kolejna biblioteka Pandas, którą poznasz w następnej sekcji. Zacznij od NumPy, a potem ucz się się dalej Pandas. W tej sekcji napiszesz kilkadziesiąt programów i rozwiążesz kilkadziesiąt zadań teoretycznych, które wspólnie przeanalizujemy.

    • Konfiguracja aplikacji w Python do pracy z NumPy
    • Prezentacja właściwości obiektu tablicowego ndarray
    • Pobieranie danych z zasobów zewnętrznych
    • Wektoryzacja
    • Indeksowanie i przechwytywanie części
    • Przegląd operacji tablicowych
    • Funkcje uniwersalne
    • Tworzenie własnych funkcji uniwersalnych
    • Metody matematyczne i statystyczne
    • Tablice i operacje na plikach
    • Algebra liniowa
    • Rozgłaszanie
    • Zarządzanie wymiarami tablic
    • Łączenie i dzielenie tablic
    • Przegląd innych zaawansowanych możliwości zarządzania obiektem tablicowym.
    • Tablice o złożonej strukturze
    • Pakiet Numba
    • Wspólne rozwiązywanie oraz analiza zadań teoretycznych i praktycznych
    • Wspólna realizacja krok po kroku projektów aplikacji wykorzystujących NumPy

    W tej sekcji poznasz bibliotekę Pandas, która ułatwia analizę i manipulację danymi w postaci tabel. Opiera się na NumPy, dlatego w pierwszej kolejności naucz się NumPy. Jest to podstawowa biblioteka, którą programista Python wykorzystuje w Data Science. W tej sekcji napiszesz kilkadziesiąt programów i rozwiążesz kilkadziesiąt zadań teoretycznych, które wspólnie przeanalizujemy.

    • Konfiguracja aplikacji w Python do pracy w Data Science
    • Obiekt Series
    • Obiekt DataFrame
    • Obiekty index
    • Pobieranie danych z zasobów zewnętrznych do obiektów pandas
    • Zapisywanie danych z obiektów pandas do zasobów zewnętrznych
    • Zarządzanie indeksami i osiami
    • Filtrowanie
    • Działania arytmetyczne
    • Wyrównywanie danych
    • Sortowanie
    • Tworzenie rankingów
    • Zarządzanie zduplikowanymi etykietami
    • Zarządzanie łańcuchami napisów oraz danymi liczbowymi
    • Generowanie podsumowań i statystyk opisowych
    • Współczynnik korelacji
    • Kowariancja
    • Zarządzania wartościami unikalnymi
    • Obsługa brakujących danych
    • Zastępowanie wartości
    • Zmiana nazw indeksów osi
    • Dyskretyzacja
    • Wykrywanie i eliminowanie elementów odstających
    • Permutacje i próbkowanie losowe
    • Wskaźniki i zmienne zastępcze
    • Indeksowanie hierarchiczne
    • Łączenie zbiorów danych
    • Zmiana kształtu i operacje na osiach
    • Grupowanie
    • Agregacja danych i operacje wykonywane na grupach
    • Praca z szeregami czasowymi
    • Zarządzanie danymi kategorycznymi
    • Pandas i biblioteki modelujące
    • Wspólne rozwiązywanie oraz analiza zadań teoretycznych i praktycznych
    • Wspólna realizacja krok po kroku projektów aplikacji wykorzystujących Pandas

    W tej sekcji poznasz narzędzia do wizualizacji danych. Zagadnienia z tego modułu są wykorzystywane w zadaniach praktycznych i projektach, w których wykorzystujesz NumPy oraz Pandas.

    • Konfiguracja aplikacji w Python do pracy z pakietem matplotlib
    • Obiekt figure i wykresy składowe
    • Przegląd i praktyczne przykłady wykorzystania wszystkich rodzajów wykresów
    • Zarządzanie kolorami, oznaczeniami, stylami linii na wykresie
    • Zarządzanie punktami, etykietami, legendami na wykresie
    • Zarządzania adnotacjami i grafiką osadzoną na wykresie
    • Zapisywanie wykresów do plików zewnętrznych
    • Wykorzystanie pakietu pandas do generowania wykresów
    • Wykorzystanie pakietu seaborn do generowania wykresów
    • Animacje
    • Przegląd innych możliwości w zakresie wizualizacji danych
    • Przygotowanie i analiza wykresów pod kątem pozyskiwania istotnych informacji

    Graficzny interfejs użytkownika oparty na bibliotece Streamlit będzie wykorzystywany wszędzie tam, gdzie potrzebne jest szybkie utworzenie webowego UI w aplikacji Python. Streamlit pozwala na błyskawiczne tworzenie interfejsów bez konieczności zagłębiania się w złożoności frameworków webowych, takich jak Flask.

    • Konfiguracja aplikacji w Python do pracy z biblioteką Streamlit (również z wykorzystaniem Docker)
    • Omówienie cyklu życia aplikacji Streamlit
    • Zarządzanie ustawieniami aplikacji opartej o bibliotekę Streamlit
    • Podstawowe elementy graficznego interfejsu użytkownika: menu, formularze, tabele, wykresy i inne
    • Przykładowa aplikacja praktyczna typu single page, wykorzystująca różne elementy interfejsu użytkownika
    • Przykładowa aplikacja praktyczna typu multi page, wykorzystująca różne elementy interfejsu użytkownika
    • Przegląd wszystkich dostępnych elementów Streamlit do tworzenia graficznego interfejsu użytkownika
    • Zarządzanie stanem aplikacji (cache danych i zasobów, stan sesji)
    • Przygotowanie graficznego interfejsu użytkownika dla przykładowej warstwy repozytoryjnej ORM (SqlAlchemy)
    • Testowanie warstwy graficznego interfejsu użytkownika napisanej w Streamlit
    • Statyczna analiza kodu warstwy graficznego interfejsu użytkownika  napisanej w Streamlit
    • Osadzanie aplikacji Streamlit w chmurze

    W tej sekcji poznasz sposoby pozyskiwania danych z plików w różnych formatach. Nauczysz się pisać moduły wielokrotnego użytku, które będziesz mógł wykorzystać w Twoich projektach do portfolio.

    • Konfiguracja aplikacji do pracy z plikami w różnych formatach danych
    • Zarządzanie katalogami oraz plikami w systemie operacyjnym
    • Pozyskiwanie danych z plików w formatach takich jak txt, csv, json, xml, yml
    • Zarządzanie danymi w arkuszu kalkulacyjnym (Microsoft Excel)
    • Implementacja testów i statyczna analiza kodu napisanego w tej sekcji
    • Wykorzystanie zaimplementowanych rozwiązań w projektach do portfolio

    W tej sekcji wprowadzimy bardzo ważny element, jakim są bazy danych. Dzięki temu zyskasz nieograniczone możliwości przechowywania i zarządzania danymi. Nauczymy się zagadnień związanych z bazami danych i językiem SQL. Rozwiążesz zadania praktyczne i teoretyczne, które wspólnie przeanalizujemy.

    • Teoria relacyjnych baz danych
    • Konfiguracja środowiska bazodanowego bezpośrednio na OS oraz z wykorzystaniem Docker
    • Język SQL
    • Zarządzanie serwerem oraz użytkownikami bazy danych
    • Zmienne globalne, lokalne, sesji
    • Tworzenie i zarządzanie tabelami w bazie danych
    • Typy danych w bazie danych
    • Operacje CRUD
    • Łączenie danych z tabel (join, subqueries)
    • Grupowanie danych i funkcje agregujące
    • Ograniczenia dla tabel (constraints)
    • Relacje one-to-one, many-to-one, many-to-many
    • Transakcje
    • Widoki
    • Indeksy
    • Funkcje analizy okna
    • Dane geoprzestrzenne
    • Wyszukiwanie pełnotekstowe
    • Funkcje definiowane przez użytkownika
    • CTE (Common Table Expressions)
    • Tabele tymczasowe
    • Triggers
    • Wizualizacja danych pobranych z bazy danych

    W tej sekcji piszemy w Python warstwę do komunikacji z bazami danych. Zadbamy o jej przetestowanie i przeprowadzimy statyczną analizę typów. Dzięki temu do nowych aplikacji oraz do tych, które już masz w portfolio, możesz dodać możliwości, związane z przechowywaniem i zarządzaniem danymi za pomocą baz danych.

    • Przygotowanie aplikacji w Python do realizacji komunikacji bazodanowej
    • Implementacja warstwy komunikacji aplikacji w Python z kontenerem bazy danych
    • Implementacja operacji CRUD i innych operacji do zarządzania danymi w bazie danych
    • Zapytania parametryzowane
    • Zarządzanie wynikami zapytań SQL
    • Konfiguracja i zarządzanie relacjami
    • Transakcyjność
    • Pozyskiwanie informacji o właściwościach bazy danych i tabel
    • Wykonywanie kopii zapasowej bazy danych
    • Implementacja generycznego repozytorium bazodanowego
    • Testowanie generycznego repozytorium bazodanowego

    W tej sekcji napiszemy projekty, które wykorzystają warstwę do komunikacji z bazą danych. Do projektów, które już masz w portfolio dodamy możliwości, związane z komunikacja z bazami danych. Twoje aplikacje zyskają nowe możliwości pod kątem gromadzenia i przetwarzania danych. Dla każdego projektu przejdziemy przez kolejne kroki:

    • Omówienie założeń projektów, projekt realizujemy razem krok po kroku
    • Przygotowanie środowiska wirtualnego, instalacja potrzebnych bibliotek, przygotowanie kontenera bazy danych
    • Przygotowanie środowiska wirtualnego do testowania aplikacji
    • Ustalenie modelu danych dla warstwy bazodanowej oraz logiki biznesowej aplikacji
    • Implementacja i testowanie generycznej warstwy do komunikacji z bazą danych
    • Analiza i optymalizacja zapytań SQL
    • Walidacja i konwersja pozyskanych danych
    • Przygotowanie struktury danych do realizacji założeń logiki biznesowej
    • Implementacja i testowanie warstwy serwisowej aplikacji
    • Utrzymanie wysokiego procentowego pokrycia kodu testami
    • Statyczna analiza kodu i zastosowanych typów
    • Raportowanie i zapisywanie do bazy danych wyników przetwarzania danych
    • Implementacja graficznego interfejsu użytkownika
    • Umieszczenie projektu w publicznym repozytorium i przygotowanie dokumentacji

    W tej sekcji poznasz kolejne podejście do zarządzania bazami danych. Nauczysz się ORM w oparciu o popularny framework komercyjny SqlAlchemy. Dodatkowo zaczniesz zarządzać w profesjonalny sposób schematem tabel w bazie danych za pomocą narzędzia Alembic. Wejdziesz na wyższy poziom pisania aplikacji bazodanowych.

    • Omówienie koncepcji ORM
    • Przygotowanie aplikacji w Python do komunikacji bazodanowej z wykorzystaniem ORM, SqlAlchemy, Alembic
    • Dwa sposoby pracy w SqlAlchemy, Core, ORM
    • Implementacja warstwy komunikacji aplikacji w Python z kontenerem bazy danych (Docker + MySQL)
    • Różne sposoby tworzenia klasy reprezentującej model tabeli w bazie danych
    • Zarządzanie klasą reprezentującą model tabeli w SqlAlchemy
    • Implementacja operacji CRUD i innych operacji do zarządzania danymi w bazie danych
    • Zarządzanie danymi otrzymanymi w wyniku zapytań
    • Konfiguracja i zarządzanie relacjami bazodanowymi
    • Optymalizacja zapytań SQL poprzez stosowanie mechanizmów ORM w SQLAlchemy
    • Optimistic, pessimistic locking w SqlAlchemy
    • Mechanizmy back populates oraz backref
    • Mapowanie kontenerów obiektów innych niż encje
    • Mapowanie dziedziczenia
    • Bulk insert, bulk update
    • Pobieranie dużych ilości rekordów
    • Events
    • Pooling
    • Zarządzanie savepoints
    • Two phase commit
    • Zarządzanie isolation levels
    • Implementacja cache w SqlAlchemy
    • Zarządzanie migracjami z wykorzystaniem narzędzia Alembic
    • Implementacja generycznego repozytorium bazodanowego z wykorzystaniem mechanizmów ORM
    • Wykorzystanie asynchroniczności w SqlAlchemy
    • Implementacja generycznego repozytorium bazodanowego z wykorzystaniem mechanizmów ORM w wersji asynchronicznej
    • Testowanie generycznego repozytorium bazodanowego w wersji synchronicznej i asynchronicznej za pomocą Testcontainers
    • Testowanie generycznego repozytorium bazodanowego w wersji synchronicznej i asynchronicznej z użyciem własnego kontenera

    W tej sekcji użyjesz ORM / SqlAlchemy oraz Alembic w projektach do portfolio. Dzięki temu Twoje aplikacje zaczną wykorzystywać profesjonalny komercyjny framework. Dzięki wiedzy zdobytej w poprzedniej sekcji, wykorzystasz w projektach cały potencjał SqlAlchemy. Dla każdego projektu przejdziemy przez kolejne kroki:

    • Omówienie założeń projektu, projekt realizujemy razem krok po kroku
    • Przygotowanie środowiska wirtualnego, instalacja potrzebnych bibliotek, przygotowanie kontenera bazy danych
    • Przygotowanie środowiska wirtualnego do testowania aplikacji i podejścia TDD
    • Ustalenie modelu danych dla warstwy bazodanowej oraz logiki biznesowej aplikacji
    • Implementacja i testowanie generycznej warstwy do komunikacji z bazą danych – SqlAlchemy, ORM
    • Analiza i optymalizacja zapytań SQL, korzystając z mechanizmów ORM
    • Walidacja i konwersja pozyskanych danych
    • Przygotowanie struktury danych do realizacji założeń logiki biznesowej
    • Implementacja i testowanie warstwy serwisowej aplikacji
    • Utrzymanie wysokiego procentowego pokrycia kodu testami
    • Statyczna analiza kodu i zastosowanych typów
    • Raportowanie i zapisywanie do bazy danych wyników przetwarzania danych
    • Implementacja graficznego interfejsu użytkownika
    • Umieszczenie projektu w publicznym repozytorium GitHub i przygotowanie dokumentacji

    W tej sekcji nauczysz się, w jaki sposób realizować komunikację bazodanową NoSQL z wykorzystaniem MongoDB. Wykorzystasz rozwiązania, znajdujące się w standardowej bibliotece Python, jak również bibliotekę MongoEngine.

    • Konfiguracja środowiska bazodanowego
    • Szczegółowe omówienie zasad języka NoSQL
    • Przygotowanie aplikacji w Python do realizacji komunikacji bazodanowej
    • Implementacja komunikacji aplikacji w Python z kontenerem bazy danych
    • Zarządzanie właściwościami pól dokumentów
    • Implementacja relacji
    • Indeksowanie oraz ustalanie porządku danych
    • Dziedziczenie dokumentów
    • Tworzenie i zarządzanie instancjami dokumentów
    • Wstawianie, modyfikowanie i usuwanie dokumentów
    • Pobieranie i zarządzanie danymi
    • Sposoby optymalizacji zapytań
    • Implementacja repozytorium bazodanowego
    • Testowanie repozytorium bazodanowego

    W tej sekcji użyjesz NoSQL w projektach do portfolio. Dzięki temu Twoje aplikacje zaczną wykorzystywać możliwości nierelacyjnych baz danych. Dla każdego projektu przejdziemy przez kolejne kroki:

    • Omówienie założeń projektu, projekt realizujemy razem krok po kroku
    • Przygotowanie środowiska wirtualnego, instalacja potrzebnych bibliotek, przygotowanie kontenera bazy danych
    • Przygotowanie środowiska wirtualnego do testowania aplikacji i podejścia TDD
    • Ustalenie modelu danych dla warstwy bazodanowej oraz logiki biznesowej aplikacji
    • Implementacja i testowanie generycznej warstwy do komunikacji z bazą danych NoSQL
    • Analiza i optymalizacja zapytań do bazy NoSQL
    • Walidacja i konwersja pozyskanych danych
    • Przygotowanie struktury danych do realizacji założeń logiki biznesowej
    • Implementacja i testowanie warstwy serwisowej aplikacji
    • Utrzymanie wysokiego procentowego pokrycia kodu testami
    • Statyczna analiza kodu i zastosowanych typów
    • Raportowanie i zapisywanie do bazy danych wyników przetwarzania danych
    • Implementacja graficznego interfejsu użytkownika za pomocą biblioteki Streamlit
    • Umieszczenie projektu w publicznym repozytorium GitHub i przygotowanie dokumentacji
    • Omówienie założeń kolejnych projektów praktycznych i wspólna realizacja projektów krok po kroku

    W tej sekcji nauczysz się RabbitMQ i przygotujesz asynchroniczną aplikację webową w architekturze mikroserwisowej z wykorzystaniem RabbitMQ do komunikacji pomiędzy mikroserwisami.

    • Omówienie architektury RabbitMQ
    • Omówienie komend CLI RabbitMQ
    • Zaawansowana konfiguracja RabbitMQ
    • Przygotowanie kontenera z klastrami danych wykorzystującymi RabbitMQ
    • Przygotowanie aplikacji w Python do realizacji komunikacji z RabbitMQ
    • Implementacja repozytorium Python do komunikacji i zarządzania danymi z RabbitMQ

    W tej sekcji nauczysz się Apache Kafka i przygotujesz asynchroniczną aplikację webową w architekturze mikroserwisowej z wykorzystaniem Apache Kafka do komunikacji pomiędzy mikroserwisami.

    • Omówienie architektury Apache Kafka
    • Omówienie komend CLI Apache Kafka
    • Zaawansowana konfiguracja Apache Kafka
    • Przygotowanie kontenera z klastrami danych wykorzystującymi Apache Kafka
    • Przygotowanie aplikacji w Python do realizacji komunikacji z Apache Kafka
    • Implementacja repozytorium Python do komunikacji i zarządzania danymi z Apache Kafka
    • Implementacja repozytorium Python do komunikacji i zarządzania danymi z Apache Kafka w formacie Avro

    W tej sekcji poznasz Azure Databricks, Apache Spark oraz PySpark, z których będziesz korzystać w środowisku Microsoft Azure. Dowiesz się, jak wykorzystać możliwości tej popularnej chmury w kontekście zarządzania danymi typu big data. 

    • Konfiguracja i wprowadzenie do Apache Spark, PySpark, Azure Databricks
    • Klastry Azure Databricks
    • Praca z Azure Databricks Notebooks
    • Konfiguracja, komunikacja i zarządzanie danymi z Azure Data Lake
    • Konfiguracja i wprowadzenie do PySpark
    • Pobieranie danych z plików przechowujących dane w różnych formatach
    • Databricks workflows
    • Zarządzanie danymi z wykorzystaniem PySpark
    • Wykorzystanie SQL w PySpark
    • Azure Data Factory
    • Unity Catalog

    Newsletter