Programare pentru ingineria datelor

Introducere în ingineria datelor

Ingineria datelor. Importanța ingineriei datelor. Limbaje de programare utilizate în proiectele de inginerie a datelor.

Utilizarea limbajului Python in ingineria datelor

Introducere in Python: Structuri de date si tipuri de date Python: list, set, dict, tuple. Structuri de control. Functii si pachete. Lucrul cu fisiere si baze de date. Platforma Data Science: Distributia Anaconda: Pachete si medii Conda in proiectele de date. Cum se instaleaza distributia Anaconda. Gestionarea mediilor de dezvoltare cu ajutorul Conda. Gestionarea pachetelor utilizand Conda. Instrumente pentru ingineria datelor: Jupyter Notebook: Primii pasi in Jupyter Notebook. Cum se instaleaza Jupyter Notebook. Crearea si rularea unui notebook. Kerneluri in ecosistemul Jupyter.

Analiza datelor cu Pandas

Introducere in Pandas: Ce este Pandas si de ce sa il folosim pentru procesarea datelor. Instalarea si importarea Pandas. Intelegerea structurilor de date Pandas: Serii si cadre de date (DataFrames). Ingestia si pregatirea datelor: Citirea datelor din diverse surse (de exemplu, CSV, Excel, baze de date SQL, API). Curatarea si transformarea datelor utilizand functiile Pandas. Gestionarea datelor lipsa si a duplicatelor. Analiza exploratorie a datelor (EDA): Statistici de sinteza si statistici descriptive. Explorarea si vizualizarea datelor utilizand Pandas si Matplotlib. Reprezentarea grafica cu Seaborn si tehnici de personalizare. Gruparea si agregarea datelor. Manipularea datelor: Combinarea si concatenarea seturilor de date. Filtrarea si selectarea datelor. Sortarea si rearanjarea datelor. Remodelarea si pivotarea datelor. Crearea de noi variabile si transformarea variabilelor existente. Tehnici Pandas avansate: Utilizarea Pandas pentru date din serii de timp. Lucrul cu variabile categorice. Utilizarea Pandas pentru prelucrarea datelor text. Indexare avansata si multi-indexare. Pandas pentru Big Data: Introducere in Dask pentru procesare paralela. Incarcarea si procesarea seturilor mari de date cu Pandas si Dask. Utilizarea Dask pentru calculele in afara nucleului.

Utilizarea limbajului SQL in ingineria datelor

Introducere in SQL: Prezentare generala a bazelor de date relationale si a SQL. Intelegerea structurilor de date in SQL (tabele, coloane, randuri). Conectarea la o baza de date si emiterea de comenzi. Ingestia si pregatirea datelor: Crearea tabelelor si inserarea datelor. Actualizarea si stergerea datelor. Validarea de baza a datelor si curatarea datelor cu SQL. Interogarea datelor: Selectarea datelor din tabele. Filtrarea si sortarea datelor. Gruparea si agregarea datelor. Alaturarea tabelelor si lucrul cu interogari multi-table. Manipularea datelor: Utilizarea subinterogarilor si a expresiilor comune pentru tabele. Inserarea, actualizarea si stergerea datelor in mai multe tabele. Utilizarea tranzactiilor pentru a asigura coerenta datelor. Crearea si utilizarea vizualizarilor. Tehnici SQL avansate: Utilizarea functiilor Window pentru analiza avansata a datelor. Interogari SQL recursive si lucrul cu date ierarhice. Functii analitice si tabele pivot. Proceduri si functii stocate. SQL pentru Big Data: Introducere in bazele de date distribuite si in arhitecturile Big Data. Interogarea datelor mari cu SQL (de exemplu, utilizand Apache Impala, Apache Hive). Proiectarea si implementarea solutiilor de stocare a datelor cu SQL.

Procesarea datelor si fluxuri de lucru

Introducere in conductele de prelucrare a datelor: Prezentare generala a conductelor de procesare a datelor si a fluxurilor de lucru. Intelegerea proceselor de la nivelul unei conducte de procesare a datelor (ingestie, curatare, transformare, stocare). Tipuri de conducte de procesare a datelor (batch, timp real, streaming). Ingestia de date: Intelegerea surselor de date (de exemplu, baze de date, API-uri, sisteme de fisiere). Strategii de ingerare a datelor (de exemplu, pull vs. push, batch vs. real-time). Gestionarea problemelor de calitate a datelor in timpul introducerii (de exemplu, date lipsa, duplicate). Curatarea si transformarea datelor: Tehnici de curatare si transformare a datelor (de exemplu, regex, map-reduce). Gestionarea problemelor legate de calitatea datelor (de exemplu, date lipsa, valori aberante). Normalizarea si standardizarea datelor. Stocarea datelor: Prezentare generala a optiunilor de stocare a datelor (de exemplu, baze de date, sisteme de fisiere, stocare in cloud). Proiectarea unei arhitecturi de stocare a datelor (de exemplu, lacuri de date, depozite de date). Strategii pentru stocarea si gestionarea seturilor mari de date. Automatizarea fluxurilor de lucru: Introducere in sistemele de gestionare a fluxurilor de lucru (de exemplu, Apache Airflow). Proiectarea si implementarea fluxurilor de lucru pentru procesarea datelor. Monitorizarea si depanarea fluxurilor de lucru. Vizualizarea si raportarea datelor: Prezentare generala a instrumentelor de vizualizare a datelor (de exemplu, Matplotlib, Tableau). Proiectarea si implementarea de tablouri de bord si rapoarte de date. Tehnici pentru raportarea si comunicarea datelor.

Curs

  /  Ingineria datelor  /  Programare pentru ingineria datelor

Programare pentru ingineria datelor

Program studiu:

Descriere

Obiectivul acestui curs este acela de a oferi studentilor o intelegere cuprinzatoare a ingineriei datelor si a competentelor necesare pentru a proiecta, construi si intretine fluxurile de procesare a datelor si fluxurile de lucru. Prin utilizarea limbajelor de programare Python si SQL, studentii vor invata cum sa colecteze, sa curete, sa transforme, sa stocheze si sa analizeze datele in mod eficient. Cursul va pune accentul pe experienta practica, iar studentii vor avea ocazia de a-si pune in aplicare cunostintele prin proiecte si studii de caz.

Cateva obiectivele specifice ale cursului includ:

  • Inteleagerea rolului ingineriei datelor in stiinta si analiza datelor.
  • Utilizarea limbajul Python pentru curatarea datelor, transformarea si analiza datelor.
  • Manipularea datele folosind limbajele Python si SQL pentru o mai mare precizie si eficienta.
  • Crearea de vizualizari de date pentru a comunica informatii si constatari.
  • Proiectarea si implementarea de conducte de procesare a datelor si fluxuri de lucru folosind Python si SQL.
  • Scrierea de interogari SQL eficiente si eficace si operatii de baze de date.
  • Automatizarea sarcinile de procesare a datelor pentru o mai mare eficienta si precizie.
  • Analiza seturilor mari de date si luarea celor mai bune decizii bazate pe date.

FAQs

Cui se adreseaza acest curs?

Acest curs se adresează studentilor care au o intelegere de baza a conceptelor de programare si de baze de date si care sunt interesati sa urmeze o cariera in domeniul ingineriei datelor sau in domenii conexe. Cursul va oferi o baza solida in ceea ce priveste abilitatile si cunostintele necesare pentru o cariera de succes in domeniul ingineriei datelor.

Ce cunostinte prealabile sunt necesare?

Constituie un avantaj cunosterea limbajelor de programare Python si SQL.

Unde este disponibil acest curs?

Cursul Programare pentru Ingineria Datelor este disponibil in semestru al doilea al anului I de studii, in cadrul programului de studii universitare de master Ingineria Datelor de la Facultatea de Electronica, Telecomunicatii si Tehnologii Informationale.

Syllabus

Obiectivul general al disciplinei - Introducerea conceptelor de programare, calcul paralel si distribuit si analiza a datelor necesare pentru a rezolva probleme cu date reale.

Introducere în ingineria datelor

Ingineria datelor. Importanța ingineriei datelor. Limbaje de programare utilizate în proiectele de inginerie a datelor.

Utilizarea limbajului Python in ingineria datelor

Introducere in Python: Structuri de date si tipuri de date Python: list, set, dict, tuple. Structuri de control. Functii si pachete. Lucrul cu fisiere si baze de date. Platforma Data Science: Distributia Anaconda: Pachete si medii Conda in proiectele de date. Cum se instaleaza distributia Anaconda. Gestionarea mediilor de dezvoltare cu ajutorul Conda. Gestionarea pachetelor utilizand Conda. Instrumente pentru ingineria datelor: Jupyter Notebook: Primii pasi in Jupyter Notebook. Cum se instaleaza Jupyter Notebook. Crearea si rularea unui notebook. Kerneluri in ecosistemul Jupyter.

Analiza datelor cu Pandas

Introducere in Pandas: Ce este Pandas si de ce sa il folosim pentru procesarea datelor. Instalarea si importarea Pandas. Intelegerea structurilor de date Pandas: Serii si cadre de date (DataFrames). Ingestia si pregatirea datelor: Citirea datelor din diverse surse (de exemplu, CSV, Excel, baze de date SQL, API). Curatarea si transformarea datelor utilizand functiile Pandas. Gestionarea datelor lipsa si a duplicatelor. Analiza exploratorie a datelor (EDA): Statistici de sinteza si statistici descriptive. Explorarea si vizualizarea datelor utilizand Pandas si Matplotlib. Reprezentarea grafica cu Seaborn si tehnici de personalizare. Gruparea si agregarea datelor. Manipularea datelor: Combinarea si concatenarea seturilor de date. Filtrarea si selectarea datelor. Sortarea si rearanjarea datelor. Remodelarea si pivotarea datelor. Crearea de noi variabile si transformarea variabilelor existente. Tehnici Pandas avansate: Utilizarea Pandas pentru date din serii de timp. Lucrul cu variabile categorice. Utilizarea Pandas pentru prelucrarea datelor text. Indexare avansata si multi-indexare. Pandas pentru Big Data: Introducere in Dask pentru procesare paralela. Incarcarea si procesarea seturilor mari de date cu Pandas si Dask. Utilizarea Dask pentru calculele in afara nucleului.

Utilizarea limbajului SQL in ingineria datelor

Introducere in SQL: Prezentare generala a bazelor de date relationale si a SQL. Intelegerea structurilor de date in SQL (tabele, coloane, randuri). Conectarea la o baza de date si emiterea de comenzi. Ingestia si pregatirea datelor: Crearea tabelelor si inserarea datelor. Actualizarea si stergerea datelor. Validarea de baza a datelor si curatarea datelor cu SQL. Interogarea datelor: Selectarea datelor din tabele. Filtrarea si sortarea datelor. Gruparea si agregarea datelor. Alaturarea tabelelor si lucrul cu interogari multi-table. Manipularea datelor: Utilizarea subinterogarilor si a expresiilor comune pentru tabele. Inserarea, actualizarea si stergerea datelor in mai multe tabele. Utilizarea tranzactiilor pentru a asigura coerenta datelor. Crearea si utilizarea vizualizarilor. Tehnici SQL avansate: Utilizarea functiilor Window pentru analiza avansata a datelor. Interogari SQL recursive si lucrul cu date ierarhice. Functii analitice si tabele pivot. Proceduri si functii stocate. SQL pentru Big Data: Introducere in bazele de date distribuite si in arhitecturile Big Data. Interogarea datelor mari cu SQL (de exemplu, utilizand Apache Impala, Apache Hive). Proiectarea si implementarea solutiilor de stocare a datelor cu SQL.

Procesarea datelor si fluxuri de lucru

Introducere in conductele de prelucrare a datelor: Prezentare generala a conductelor de procesare a datelor si a fluxurilor de lucru. Intelegerea proceselor de la nivelul unei conducte de procesare a datelor (ingestie, curatare, transformare, stocare). Tipuri de conducte de procesare a datelor (batch, timp real, streaming). Ingestia de date: Intelegerea surselor de date (de exemplu, baze de date, API-uri, sisteme de fisiere). Strategii de ingerare a datelor (de exemplu, pull vs. push, batch vs. real-time). Gestionarea problemelor de calitate a datelor in timpul introducerii (de exemplu, date lipsa, duplicate). Curatarea si transformarea datelor: Tehnici de curatare si transformare a datelor (de exemplu, regex, map-reduce). Gestionarea problemelor legate de calitatea datelor (de exemplu, date lipsa, valori aberante). Normalizarea si standardizarea datelor. Stocarea datelor: Prezentare generala a optiunilor de stocare a datelor (de exemplu, baze de date, sisteme de fisiere, stocare in cloud). Proiectarea unei arhitecturi de stocare a datelor (de exemplu, lacuri de date, depozite de date). Strategii pentru stocarea si gestionarea seturilor mari de date. Automatizarea fluxurilor de lucru: Introducere in sistemele de gestionare a fluxurilor de lucru (de exemplu, Apache Airflow). Proiectarea si implementarea fluxurilor de lucru pentru procesarea datelor. Monitorizarea si depanarea fluxurilor de lucru. Vizualizarea si raportarea datelor: Prezentare generala a instrumentelor de vizualizare a datelor (de exemplu, Matplotlib, Tableau). Proiectarea si implementarea de tablouri de bord si rapoarte de date. Tehnici pentru raportarea si comunicarea datelor.