Python is an interpreted high-level programming language for general-purpose programming. Created by Guido van Rossum and first released in 1991, Python has a design philosophy that emphasizes code readability, notably using significant whitespace. Python is open source, has awesome community support, is easy to learn, good for quick scripting as well as coding for actual deployments, good for web coding too.
In this modules, I will start with basics of the Python language. We will do both theory as well as hands-on exercises intermixed. I will use Jupyter notebooks while doing hands-on. I will also discuss in detail topics like control flow, input output, data structures, functions, regular expressions and object orientations in Python. Closer to data science, I will discuss about popular Python libraries like NumPy, Pandas, SciPy, Matplotlib, Scikit-Learn and NLTK.
Why Python
Python Installation
Python 2.7 Vs 3.x
Introduction to Essential Python Libraries
Introduction to iPython and Jupyter Notebooks
Python Language Basics- Indentation, Comments, Function Calls, Variables and Argument Passing
Python Language Basics-Types, Duck-Typing, Import
Python Language Basics-Binary operators, Comparisons, Mutable
Python Language Basics-Standard Data types in Python
Python Language Basics-Command Line Arguments
Loops: for, while
Conditional Execution
Input, output, Eval, Print
repr, str, zfill
File IO
JSON I/O with Python Dictionary
JSON I/O with Generic objects
JSON I/O Serialization and Deserialization
JSON I/O File
Introduction to Pickle
cPickle
Pickle and Multi-Processing
Tuples
List
Sorting, Searching, Slicing
Built-In Functions-Enumerate, Sort, Zip, Reversed
Dictionary
Sets
Lists, Sets and Dict Comprehensions
Introduction to Functions and Variable Length Argument
Namespace, Scope, Local Funtions, Local vs Global Variables
Returning multiple vales, Pass by Reference
Functions are objects
Recursive functions, Anonymous(Lambda) Functions
Currying, Generators
Itertools Module
Errors and Exception Handling
Introduction to Functions and Variable Length Argument
Namespace, Scope, Local Funtions, Local vs Global Variables
Returning multiple vales, Pass by Reference
Functions are objects
Recursive functions, Anonymous(Lambda) Functions
Currying, Generators
Itertools Module
Errors and Exception Handling
Python Modules and Packages
object oriented Nature of Python
Class Inheritance, overriding, overloading, Data Hiding
Searching for patterns, matching groups
Regular expression flags
split, findall, finditer
Repetition syntax
Character sets, Exclusion, Character Ranges, Escape Codes
Substitution
Greedy vs non-greedy matching
Backreferences and anchors
Capturing parts of pattern match
split and zero-width assertions
Look-arounds
Introduction to Numpy and ndarrays
Datatypes of ndarrays
Arithmetic operations, Indexing, Slicing
Boolean and fancy indexing
Basic ndarray operations
Array-oriented programming with arrays
Conditional, Statistical and Boolean operation
Sorting and set operation
File IO with NumPy
Linear Algebra for Numpy
Reshaping, Concatenating and Splitting Arrays
Broadcasting
Series Data Structures
DataFrame
Index objects
Reindexing
Dropping entries from an axis
Indexing, Selection and Filtering
Arithmetic and Data Alignment
Operations between DataFrame and Series
Function Application and Mapping
Sorting and Ranking
Axis indexes with duplicate labels
Computing Descriptive Statistics
pct_change(), Correlation and Covariance, Unique values, Value counts and membership
Introduction to Matpotlib
Colours, Markers and line styles
Customization of Matplotlib
Plotting with Pandas
Barplots, Histograms plots, Density Plots
Introduction to Seaborn, Style Management
Controlling figure aesthetics
Colour Palettes
Plotting univariate Distribution
Plotting bivariate Distribution
Visualizing pairwise relationship in pairplots
Plotting with Categorical Data
Visualizing Linear Relationships
Plotting on Data-aware grids
Other Python Visualization tools
Linear Algebra in SciPy
Sparse Matrices in SciPy
Constants, Cluster and FFT Packages
Integration using SciPy
Interpolation in SciPy
SciPy I/O, SciPy ndimage
Optimization and root finding
SciPy.Stats
Introduction to SciKit Learn and Machine Learning
Sample Dataset in SciKit Learn
Train Test using SciKit Learn
Classification IRIS using Decision Trees
Holdout Validation, K-fold cross Validation
Cross Validation using SciKit Learn
K-means Clustering in SciKit Learn
Introduction to Nature Language Processing tool kit
Tokenization, Lower casing and removing stop words, Lemmatization, Stemming
ngrams, Sentence tokenization, Part of speech tagging
Chunking, Named Entity Recognition
Introduction to WordNet, and word sense disambiguation