- Overview
- Prerequisite
- Audience
- Audience
- Curriculum
Description:
Python, the highly sought-after programming language, is your gateway to the tech industry. With its user-friendly approach, Python is an ideal choice for those venturing into the coding realm. Its versatility knows no bounds, finding applications in data science, machine learning, game design, and more. From Data Engineering to Artificial Intelligence, Python's relevance transcends industries. Python developers are in high demand, powering major companies to deliver efficient solutions. Python's adaptability shines, catering to both simple and complex tasks across diverse sectors, be it data science, software engineering, or cutting-edge domains like mobile app development and AI. Python's interpreted nature ensures quick validation, enabling seamless adjustments as you code. Embrace the limitless possibilities of Advanced Python today!
Course Code/Duration:
BDT188 / 3 Days
Learning Objectives:
After this course, you will be able to:
- Basis understanding of Python.
- Hands on Environment setup – Anaconda, Jupyter Notebook
- Python Tools and Utilities
- Many important Python features with all required basic syntax
- Python classes and object concepts with hands on.
- Functional Programming in Python – Lambda, Filter, Map
- Different kinds of Collections
- How to access Database using Python.
- Basic of Numpy.
- Numpy – Array, reshaping, computation
- Numpy – UFuncs, aggregations, Summing
- What is Pandas framework and their use cases?
- How to do data manipulation using Pandas.
- Pandas – Series, DataFrame, Indexing, Ufuncs
- Pandas – Handle missing data, hierarchical indexing
- Hands on – Numpy & Pandas on real life use case
- What is Visualization and real use case.
- How to use Matplotlib for Visualization.
- Basic python programming knowledge.
- Anyone having basic logical and analytical skills in any programming language.
- Anyone having basic logical and analytical skills in any programming language.
Course Outline:
Environment setup
- Anaconda 3
- Ipython Notebook
1. Python Classes and Objects
- Creating Classes
- Creating instance objects
- Destroying Objects (Garbage Collection)
- Custom Classes
- Attributes and Methods
- Inheritance and Polymorphism
- Using Properties to Control Attribute Access
2. Functional Programming
- Lambda
- Filter
- Map
- Functools
3. Iterators and Generators
- Itertools
- Generators
- Decorators
4. Collections
5. Database Access
- Sqlite databases
- MySQL databases
6. Introduction to NumPy
- NumPy Standard Data Types
- The Basics of NumPy Arrays
- NumPy Array Attributes
- Array Indexing: Accessing Single Elements
- Array Slicing: Accessing Subarrays
- Reshaping of Arrays
- Array Concatenation and Splitting
- Computation on NumPy Arrays: Universal Functions
- The Slowness of Loops
- Introducing UFuncs
- Exploring NumPy’s UFuncs
- Advanced Ufunc Features
- Ufuncs: Learning More
- Aggregations: Min, Max, and Everything in Between
- Summing the Values in an Array
- Working with Boolean Arrays
7. Data Manipulation with Pandas
- Installing and Using Pandas
- Introducing Pandas Objects
- The Pandas Series Object
- The Pandas DataFrame Object
- The Pandas Index Object
- Data Indexing and Selection
- Data Selection in Series
- Data Selection in DataFrame
- Operating on Data in Pandas
- Ufuncs: Index Preservation
- UFuncs: Index Alignment
- Ufuncs: Operations Between DataFrame and Series
- Handling Missing Data
- Trade-Offs in Missing Data Conventions
- Missing Data in Pandas
- Operating on Null Values
- Hierarchical Indexing
- A Multiply Indexed Series
- Methods of MultiIndex Creation
- Indexing and Slicing a MultiIndex
- Rearranging Multi-Indices
- Data Aggregations on Multi-Indices
- Combining Datasets: Concat and Append
- Recall: Concatenation of NumPy Arrays
- Simple Concatenation with pd.concat
- Combining Datasets: Merge and Join
- Categories of Joins
- Specification of the Merge Key
- Specifying Set Arithmetic for Joins
- Overlapping Column Names: The suffixes Keyword
- Aggregation and Grouping
- Simple Aggregation in Pandas
- GroupBy: Split, Apply, Combine
- Introducing Pandas String Operations
- Tables of Pandas String Methods
8. Visualization with Matplotlib
- General Matplotlib Tips
- Importing matplotlib
- Setting Styles
- show() or No show()? How to Display Your Plots
- Saving Figures to File
- Two Interfaces for the Price of One
- Simple Line Plots
- Adjusting the Plot: Line Colors and Styles
- Adjusting the Plot: Axes Limits
- Labeling Plots
- Simple Scatter Plots
- Scatter Plots with plt.plot
- Scatter Plots with plt.scatter
- plot Versus scatter: A Note on Efficiency
- Visualizing Errors
- Basic Errorbars
- Continuous Errors
- Density and Contour Plots
- Visualizing a Three-Dimensional Function
- Histograms, Binnings, and Density
- Two-Dimensional Histograms and Binnings
- Customizing Plot Legends
- Choosing Elements for the Legend
- Legend for Size of Points
- Multiple Legends
- Customizing Colorbars
- Multiple Subplots
- axes: Subplots by Hand
- subplot: Simple Grids of Subplots
- subplots: The Whole Grid in One Go
- GridSpec: More Complicated Arrangements
- Transforms and Text Position
- Customizing Ticks
- Major and Minor Ticks
- Hiding Ticks or Labels
- Reducing or Increasing the Number of Ticks
Doubt Clearing / Queries session
Training material provided:
Yes (Digital format)