# Python AI ## 25.03 Zalogowałem się do classroom.google.com kontem sasza.stanczew@gmail.com główne środowisko treningu to Google Collab - bo łatwiej będzie ogarnąć zależności itp, a poza tym Anacondę nie zainstalojemy bo łamałoby to licencję ### Środowisko - Anaconda - dystrybucja zawierająca Python oraz najważniejsze biblioteki analityczne - Jupyter Notebook - interkatywne środowisko umożiwiające łączenie kodu, tekstu i wizualizacji Instalacja - pobrać Anacondę z oficjalnej strony i zainstalować Następnie uruchomić Jupyter Notebook przez Anaconda Navigator (lub `jupyter notebook`) Alternatywy: Google Collab, VSCode z rozszerzeniami Python i Jupyter ### Analiza danych w Pythonie #### Bublioteki ##### NumPy - obliczenia numeryczne, praca z macierzami i tablicami ##### Pandas - analiza danych tabelarycznych - import, czyszczenie i zanaliza danych. Oferuje ramki danych i szeregi #### Google Collab - nowy notebook - to jest praktycznie Jupyter - #### Można też zainstalować anaconda albo JupyterLab - działa fajnie ### NumPy - obliczenia na dużych zestawach danych - nie będziemy korzystać bezpośrednio - bo większość szerszych frameworków korzysta z NumPy pod spodem, np Pandas ### Analiza danych w Pythonie #### Podstawowe pojęcia - macierze - tablice wierowymiarowe - zawierają elementy tego samego typu - szeregi - jednowymiarowe tablice. mogą mieć etykiety dla indeksów - ramki danych - tablice dwuwymiarowe, składają się z kolumn różnych typów #### NumPy - fukcje matematyczne - trygonometria, geometria, statystyka - np.random - maski logiczne, filtrowanie danych - broadcasting - rozszerzanie małych tablic przy operacjach na większych tablicach Statystyka: - np.mean(), np.median(), np.std(), np.max(), np.min() tworzenie tablic: - np.zeros(), np.ones(), np.arange() z NumPy faktycznie się nie korzysta na codzień, bo Pandas to wszystko opakowywuje #### Pandas jest też Polars - nowy, dynamicznie rozwijany, oparty na chmurze, dużo szybszy od Pandas Pamdas jest głównie używany do analizy danych, przygotowanie danych do machine learningu ##### Import danych do Pandas pd.read_csv(), read_sql(), read_excel() itp itd, bardo dużo formatów ## 26.03 ### Czyszczenie i przygotowywanie danych Tak na prawdę, ten proces zajmuje najwięcej czasu programowania, bo najważniejsze jest to aby ML miał na wejściu dobre dane. knime.com - programowanie za pomocą klocków można wyeksportować jako Jupyter Notebook działający kod #### Dane długie i szerokie - dane 'long' - dane powtarzalne, np data (bo może być dużo wierszy z tą samą datą) - dane 'wide' - dane któ©e mają dużo kolumn