
Data Analytics with Python
- שעות הקורס: 17:00-21:00
- היקף שעות: 40 שעות אקדמאיות (8 מפגשים)
- מיקום: ירושלים
- צפי פתיחת הקורס: במהלך חודש יוני ונובמבר
Overview
Python is among the most popular programming language exists, and by many means, the most useful one.
In this Python course you will learn how to program with this popular development language as well as working with related packages for operating with data.
The first part of the course will cover all Python essentials : installing, data types and creating variables, input and output, decision making and repetition, iterators, list comprehension and functions. He also covers variable scope, modules – creating and using pre-built ones, object oriented programming, inheritance, exception handling and using data structures.
The second part will cover the most important libraries for data analysis:
Numpy is the fundamental package for scientific computing with Python. A good understanding of Numpy will help you use tools like Pandas effectively.
Matplotlib is a widely-used package for scientific graphics. This part will include an introduction to the matplotlib objects, to their basic functionalities and a survey of the basic plot types.
Scipy is Python-based ecosystem of open-source software for mathematics, science, and engineering and the "parent" of the Numpy & Matplotlib among others.
Prerequisites
Basic fundamental programming skills in any languag
Course content
Part A – Python Programming Language – 3 Days
בחלק זה נתמקד בכל האספקטים של שפת הפיתוח הפופולארית – שפת פייתון : החל מנושאים בסיסיים כמו אבני הבנין של השפה ( משתנים, התניות, לולאות, מערכים), דרך מימוש פונקציות בסיסיות ומתקדמות ומבני נתונים נפוצים מאוד.
נכסה לעומק את כל האספקטים של תכנות מונחה עצמים, נלמד לעבוד עם קבצים בפורמטים שונים ונלמד לעבוד עם כלי ניהול המודולים (הורדה, הפצה והתקנה).
Module 1: Introduction
• Background
• Why Python
• Static vs. Managed Vs. Dynamic Languages
• Usages
• Development Tools
Module 2: Python basic data types
• Expressions, Statements, Variables
• Working With Numbers
• Working With Strings
• Working With Booleans
• Working With Arrays
• Input & Output
Module 3: Python common operators
• If Statement
• If-else statement
• If-elif statement
• Switch statement
• While Loops
• For Loops
• Break & Continue
• Range function
Module 4: Collections
• Working With Lists
• Working With Dictionaries
• Working With Tuples
• Working With Sets
• Sorting Dictionaries
• Copying Collections
• Copying Collections – shallow and deep copy
• Advanced usages with Map, Filter & Reduce
Module 5 : Functions
• Simple functions
• Default Values
• Named Args
• Map
• Filter
• Reduce
• Anonymous Functions
• Built-In Functions
• Scopes : Global , Local , Nested
• Nested Functions
• Lambda Expressions
• Callback functions
Module 6 : Exceptions Handling
• Bug, Error & Exception
• Exception Syntax
• Exception Levels
• The try-catch-finally keywords
• Custom Exceptions
• Raising an Exception
Module 7 : Object Oriented Programming
• Classes
• Objects
• Magic Functions
• Effective documentation using docstrings
• O.O. Concepts
• Fields
• Abstract Data Types
• Inheritance
• Special Methods
• Virtual Functions
Module 8 : Modules & Packages
• What are Modules?
• Importing Modules
• Testing Modules
• Built in Modules
• User Defined Modules
• Search Hierarchy
• Multiple source files
• Byte code
• Packages & PyPi
Final Module Ex
Part B – Data Analysis With Python - 2 Days
בחלק זה נתמקד במגוון מהספריות הנפוצות ביותר של שפת Python לעיבוד ואנליזה של מידע: החל מאיסוף המידע, דרך ניתוח שלו, אופטימיזציה של מודלים והצגה ויזואלית שלו. נכיר שימושים מתמטיים ומדעיים בספריות NumPy, scipy ו Matplotlib. גם בחלק זה נתרגל את כלל החומר ונפתור תרגיל סיום מודול.
Module 9 : Working with Files & Data
• Accessing files
• Reading files
• Writing to files
• Text files
• XML & JSON files
• Binary Files
• Yaml Files & ruaml_yaml package
Module 2 : The NumPy Library
• Working with Array
• Broadcasting
• N-Dimensional Arrays
• Reading Text Files
Module 2 : The Matplotlib Library
• Matplotlib objects
• Plotting
• The pyplot state machine
Module 2 : The scipy Library
• Useful usages
• Non-Linear equations optimization
• Non-Linear equations solvers
• Root vs. Fsolve techniques
Module 3 : The Pandas Library (If time permits)
• Series & Index
• DataFrame
• Group By