Pasionat de cursuri online si vrand de ceva vreme sa invat Python, am luat un curs care mi s-a parut la indemana de pe edx: Introduction to Python for Data Science
Exercitiile le faci printr-un simulator al celor de la DataCamp.
Lectia nr. 1: Python Basics
Lectii din primele exercitii (recomand utilizarea DataCamp):
- Fisierele de Python sunt de gasit usor dupa extensia .py
Limbaj:
- # – comentariile: #acesta ar fi un comentariu in Python
- ** – ridicarea la exponent. De exemplu 4**2 = 16.
- % – modulo – adica restul impartirii. 18%7 va da 4. (Practic da catul 2, rest 4).
- + – poate aduna niste variabile (numere) sau concatena siruri de caractere (‘a’ + ‘b’ = ‘ab’)
- ; – da posibilitatea sa scrii mai multe comenzi pe aceeasi linie
- print() – afiseaza
- a = 3; print(a) va afisa 3
Variabile:
- specifice, case-sensitive(adica Abc va fi diferita decat abc)
- type(variabila) => iti va da tipul variabilei
- float – nr real
- integer – intreg
- boolean – poate fi true/false
- strings – sir de caractere
- str(), int(), float(), bool() – trece o variabila in str/int/float/bool, dupa caz
Lectia nr. 2: Data Structures
Python Lists:
Cand faci lucru pe date, o sa ai foarte multe. Asa ca in loc sa folosesti variabile sa stochezi fiecare data intr-o variabila, se recomanda folosirea de liste:
Definire: [a, b, c] – ex: [1.74, 5.64, 6.23, 0.23]
- in lista pot fi variabile de tipuri diferite
- Liste: [1, 3, 4], [1, “a”, “asda” +”asad”, True], sau [[1, 3, 4], [“a, “f”, 5]]
Subsetting Lists:
- indexul fiecarei variabile din liste incepe de la 0
- a = [1 ,2 ,3] va returna a[0] = 1, a[1] = [2], a[2] = [3]
- List slicing – cu ‘:’
- [start : end] => start e inclus in rezultate, end exclus
- a[1:2] va returna [2]
- a[:1] va returna [1]
Operatii cu liste:
- adaugare la lista: fam_ext: fam + [“me”, 1.79], unde:
- fam_ext: lista noua
- fam: lista curenta
- [“me”, 1.79]: sublista pe care o adaugam la lista curenta
- stergere: del(fam[2])
Lectia nr. 3: Functions and Packages
Functiile
- o functie: este o bucata de cod reutilizabil. Practic, e ca un playlist de muzica, unde playlistul este numele functiei (si mai are niste date), iar melodiile sunt operatiile pe care calculatorul le va efectua, daca acea functie este apelata
- sunt unele functii predefinite
- max() – cauta maximul dintr-o lista
- round(nr, zecimale) – aproximeaza nr, tinand cont de zecimale
- round(1.68) = 2
- round(1.68, 1) = 1.7
- len() – returneaza lungimea unui sir
- cand ai dubii sau vrei sa afli mai multe, apeleaza cu incredere help-ul. Pentru mai multe detalii despre o functie: help(functie) sau ?functie
- ex: help(max), sau ?max
Metode
- un fel de functii care se pot aplica unor liste; sunt metode dedicate tipurilor de liste (daca sunt de numere/caractere etc)
- se apeleaza prin ‘.’ (punct)
- Daca fam = [1,2,3,4]
- fam.index(3) => ar da 2, care este pozitia elementului cu valoarea 3
- fam.count() => ar da 4, caci atatea elemente sunt in lista
- sistem = ‘liz’
- sister.capitalize() => va returna ‘Liz’
- append() => adauga un element la o lista
Packages
- un pachet = un colectie de scripturi
- un script = un modul care cuprinde functii, metode sau declaratii de tipuri de variabile
- Sunt packages(voi folosi in engleza) deja definite:
- Numpy
- Matplotlib
- Scikit-learn
- Ele trebuie instalate
- Te duci aici: http://pip.readthedocs.org/en/stable/installing/
- Download get-pip.py
- si intr-un terminal de comanda: python3 get-pip.py (considerand ca ai instalat deja python)
- Pot fi si importate: comanda import
- import numpy
Lectia nr. 4: Numpy
Numpy
- NumPy (Numeric Python) – e o alternativa la liste => ofera Numpy Array
- avantaj: poti face o operatie pe mai multe liste odata
- ca sa mearga, trebuie instalat
- Exemplu de folosit
- import numpy as np
- np_height = np.array(height) – unde height e deja un vector definit inainte
- np_weight = np.array(weight)
- bmi = np_weight / np_height **2
- si imi va da un alt array, cu indicele bmi pentru fiecare element din lista
- Numpy subsetting
- daca bmi este un vector cu numere intre 10 si 27, si tu apelezi bmi >23 => va da un vector cu elemente boolean, unde doar cele care sunt mai mari ca 23 vor avea True
- daca apelezi bmi[bmi> 23] va genera un vector cu elementele > 23
Observatii: Numpy cere liste cu elemente de acelasi tip.
2D Numpy Array
- daca iei un numpy array si vezi tipul sau, iti va returna ndarray (N-dimensional array)
- asta inseamna ca poti face vectori dimensionali
- 2D array => sunt matricele
- Poti declara ca: np_2d = np.array(a, b) , unde a si b sunt liste
- Utile
- np_2d.shape – metoda care iti spune cate linii si coloane ai
- accesezi un element sub forma np_2d[2][0] => si-ti va returna primul element, linia 2
- aceeasi valoare e si cu np_2d[2, 0]
- Daca vreau sa selectez o intreaga coloana
import numpy as np np_x = np.array(x) np_x[:,0] -> va selecta prima coloana, toate liniile
Numpy: Basic Statistics
- exista functii predefinite care te ajuta pentru date statistice
- Exemple
- np.mean(np_city[:, 0]) -> asta ar da de exemplu media persoanelor din oras – daca prima coloana din np_city este inaltimea locuitorilor
- np.median(np_city[:, 0]) – calculeaza mediana
- std() – deviatia standard
Alte lucruri utile
- poti folosi aliasuri (ca sa folosesti nume mai scurte)
- import numpy as np => packetul importat va purta numele ‘np’ si asa il vei apela
Documentatie oficiala:
- Data Structures
- Cum sa instalezi packages
- Functii in Python
- Numpy
Leave a Reply
You must be logged in to post a comment.