Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/noahgift/functional_intro_to_python
[tutorial]A functional, Data Science focused introduction to Python
https://github.com/noahgift/functional_intro_to_python
commandline data-science functional-programming ipynb jupyter-notebook learning-by-doing machine-learning optimization pandas python python3 screencast spot-price tutorial
Last synced: about 1 month ago
JSON representation
[tutorial]A functional, Data Science focused introduction to Python
- Host: GitHub
- URL: https://github.com/noahgift/functional_intro_to_python
- Owner: noahgift
- License: other
- Created: 2017-11-04T23:39:10.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-06-19T21:26:17.000Z (5 months ago)
- Last Synced: 2024-09-27T23:41:02.966Z (about 2 months ago)
- Topics: commandline, data-science, functional-programming, ipynb, jupyter-notebook, learning-by-doing, machine-learning, optimization, pandas, python, python3, screencast, spot-price, tutorial
- Language: Jupyter Notebook
- Homepage: https://noahgift.github.io/functional_intro_to_python/
- Size: 32.5 MB
- Stars: 301
- Watchers: 37
- Forks: 195
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-google-colab - ML and EDA - Functional, data science centric introduction to Python. (Course and Tutorial)
README
* [✨Pragmatic AI Labs builds courses on edX](https://insight.paiml.com/d69)
* [ 💬 Join our Discord community](https://discord.gg/ZrjWxKay)# Functional, Data Science Intro To Python
The first section is an intentionally brief, functional, data science centric introduction to Python. The assumption is a someone with zero experience in programming can follow this tutorial and learn Python with the smallest amount of information possible.The sections after that, involve varying levels of difficulty and cover topics as diverse as Machine Learning, Linear Optimization, build systems, commandline tools, recommendation engines, Sentiment Analysis and Cloud Computing.
Do you find this free tutorial valuable! Please help spread the word:
1. Star this Github Repo.
2. If you have access to Safari, [please like or comment my content on Safari](https://www.oreilly.com/search/?query=noah%20gift&extended_publisher_data=true&highlight=true&include_assessments=false&include_case_studies=true&include_courses=true&include_orioles=true&include_playlists=true&include_collections=false&include_notebooks=false&is_academic_institution_account=false&formats=book&formats=learning%20path&formats=video&sort=relevance&facet_json=true&page=0).## PYTHON in ONE HOUR
**Watch The Video Companions on YouTube**
[![Learn Python in one hour!](https://img.youtube.com/vi/ie-hjFXlxTs/0.jpg)](https://youtu.be/ie-hjFXlxTs)
## Pragmatic AI Labs
![Pragmatic AI Labs](https://paiml.com/logo_with_slogan_white_background.png)These notebooks and tutorials were produced by [Pragmatic AI Labs](https://paiml.com/). You can continue learning about these topics by:
* [Get the latest content and updates from Pragmatic AI Labs: Subscribe to the mailing list!](https://newsletter.paiml.com/social)
* Buying a copy of [Pragmatic AI: An Introduction to Cloud-Based Machine Learning](http://www.informit.com/store/pragmatic-ai-an-introduction-to-cloud-based-machine-9780134863863)
* Watching 8+ Hour Video Series on Safari: [Essential Machine Learning and AI with Python and Jupyter Notebook](https://www.safaribooksonline.com/videos/essential-machine-learning/9780135261118)
* Reading online with Safari: [Pragmatic AI: An Introduction to Cloud-Based Machine Learning, First Edition](https://www.safaribooksonline.com/library/view/pragmatic-ai-an/9780134863924/)
* Watching video [Essential Machine Learning and AI with Python and Jupyter Notebook-Video-SafariOnline](https://www.safaribooksonline.com/videos/essential-machine-learning/9780135261118) on Safari Books Online.
* Watching video [AWS Certified Machine Learning-Speciality](https://learning.oreilly.com/videos/aws-certified-machine/9780135556597)
* Watching learning path [Essential Machine Learning and Pragmatic AI](https://learning.oreilly.com/learning-paths/learning-path-essential/9780135747193/)
* Purchasing video [Essential Machine Learning and AI with Python and Jupyter Notebook- Purchase Video](http://www.informit.com/store/essential-machine-learning-and-ai-with-python-and-jupyter-9780135261095)
* Register for an [upcoming online training on Safari](https://www.safaribooksonline.com/search/?query=noah%20gift).
* Browsing [Pragmatic AI Source Code](https://github.com/noahgift/pragmaticai)
* Viewing more content at [noahgift.com](https://noahgift.com/)
* Viewing more content at [Pragmatic AI Labs](https://paiml.com/)
* Viewing more content on the [Pragmatic AI Labs YouTube Channel](https://www.youtube.com/channel/UCNDfiL0D1LUeKWAkRE1xO5Q)
* Reading content on [Pragmatic AI Medium](https://medium.com/pragmatic-ai-labs)
* Hear more about the some of the topics covered in [TWIML podcast](https://twimlai.com/twiml-talk-158-growth-hacking-sports-w-machine-learning-with-noah-gift/)### Additional Related Topics from Noah Gift
* Cloud Computing (Specialization: 4 Courses)
* Publisher: Coursera + Duke
* Release Date: 4/1/2021Building Cloud Computing Solutions at Scale Specialization
Launch Your Career in Cloud Computing. Master strategies and tools to become proficient in developing data science and machine learning (MLOps) solutions in the Cloud#### What You Will Learn
* Build websites involving serverless technology and virtual machines, using the best practices of DevOps
* Apply Machine Learning Engineering to build a Flask web application that serves out Machine Learning predictions
* Create Microservices using technologies like Flask and Kubernetes that are continuously deployed to a Cloud platform: AWS, Azure or GCP#### Courses in Specialization
![cloud-specialization](https://user-images.githubusercontent.com/58792/121041040-650ca180-c780-11eb-956e-8d1ecb134641.png)
* [Take the Specialization](https://www.coursera.org/learn/cloud-computing-foundations-duke?specialization=building-cloud-computing-solutions-at-scale)
* [Cloud Computing Foundations](https://www.coursera.org/learn/cloud-computing-foundations-duke?specialization=building-cloud-computing-solutions-at-scale)
* [Cloud Virtualization, Containers and APIs](https://www.coursera.org/learn/cloud-virtualization-containers-api-duke?specialization=building-cloud-computing-solutions-at-scale)
* [Cloud Data Engineering](https://www.coursera.org/learn/cloud-data-engineering-duke?specialization=building-cloud-computing-solutions-at-scale)
* [Cloud Machine Learning Engineering and MLOps](https://www.coursera.org/learn/cloud-machine-learning-engineering-mlops-duke?specialization=building-cloud-computing-solutions-at-scale)### His most recent books are:
* [Practical MLOps (O'Reilly 2021)](https://www.amazon.com/Practical-MLOps-Operationalizing-Machine-Learning/dp/1098103017/)
* [Pragmatic A.I.: An introduction to Cloud-Based Machine Learning (Pearson, 2018)](https://www.amazon.com/Pragmatic-AI-Introduction-Cloud-Based-Analytics/dp/0134863860)
* [Python for DevOps (O'Reilly, 2020)](https://www.amazon.com/Python-DevOps-Ruthlessly-Effective-Automation/dp/149205769X).
* [Cloud Computing for Data Analysis, 2020](https://paiml.com/docs/home/books/cloud-computing-for-data/)
* [Testing in Python, 2020](https://paiml.com/docs/home/books/testing-in-python/)His most recent video courses are:
* [Essential Machine Learning and A.I. with Python and Jupyter Notebook LiveLessons (Pearson, 2018)](https://learning.oreilly.com/videos/essential-machine-learning/9780135261118)
* [AWS Certified Machine Learning-Specialty (ML-S) (Pearson, 2019)](https://learning.oreilly.com/videos/aws-certified-machine/9780135556597)
* [Python for Data Science Complete Video Course Video Training (Pearson, 2019)](https://learning.oreilly.com/videos/python-for-data/9780135687253)
* [AWS Certified Big Data - Specialty Complete Video Course and Practice Test Video Training (Pearson, 2019)](https://learning.oreilly.com/videos/aws-certified-big/9780135772324)
* [Building A.I. Applications on Google Cloud Platform (Pearson, 2019)](https://learning.oreilly.com/videos/building-ai-applications/9780135973462)
* [Pragmatic AI and Machine Learning Core Principles (Pearson, 2019)](https://learning.oreilly.com/videos/pragmatic-ai-and/9780136554714)
* [Data Engineering with Python and AWS Lambda (Pearson, 2019)](https://learning.oreilly.com/videos/data-engineering-with/9780135964330)His most recent online courses are:
* [Microservices with this Udacity DevOps Nanodegree (Udacity, 2019)](https://www.udacity.com/course/cloud-dev-ops-nanodegree--nd9991)
* [Command Line Automation in Python (DataCamp, 2019)](https://www.datacamp.com/instructors/ndgift)
* [AWS Certified Cloud Practitioner 2020-Real World & Pragmatic](https://www.udemy.com/course/aws-certified-cloud-practitioner-2020-real-world-pragmatic/?referralCode=CAC679A7D08212773428).## Safari Online Training: Essential Machine Learning and Exploratory Data Analysis with Python and Jupyter Notebook
### Recommended Preparation Material:
* Watching 8+ Hour Video Series on Safari: [Essential Machine Learning and AI with Python and Jupyter Notebook](https://www.safaribooksonline.com/videos/essential-machine-learning/9780135261118)
* Reading online with Safari: [Pragmatic AI: An Introduction to Cloud-Based Machine Learning, First Edition](https://www.safaribooksonline.com/library/view/pragmatic-ai-an/9780134863924/)
* Watching learning path [Essential Machine Learning and Pragmatic AI](https://learning.oreilly.com/learning-paths/learning-path-essential/9780135747193/)
* Watching video [AWS Certified Machine Learning-Speciality](https://learning.oreilly.com/videos/aws-certified-machine/9780135556597)
* Exploring interactive Jupyter book on ["Python For Data Science"](https://paiml.github.io/python_for_datascience/intro.html)### [Day1-Part1-Google Colab Notebook](https://drive.google.com/file/d/1jPhYOyvweOJVW3Engci6GcnVEGd_UhGI/view?usp=sharing)
#### 1.1-1.2: Introductory Concepts in Python, IPython and Jupyter
- Introductory Concepts in Python, IPython and Jupyter
- Functions### [Day1-Part2-Google Colab Notebook](https://colab.research.google.com/drive/1dmTMM-zmGToCmcaedyNj93X-dLZeg2KG)
#### 1.3: Understanding Libraries, Classes, Control Structures, Control Structures and Regular Expressions
- Writing And Using Libraries In Python
- Understanding Python Classes
- Control Structures
- Understanding Sorting
- Python Regular Expressions### [Day2-Part1-Google Colab Notebook](https://colab.research.google.com/drive/1sORrIFB8t9NbW9Nhko-EgFI1HWOKwn28)
#### 2.1: IO Operations in Python and Pandas and ML Project Exploration
- Working with Files
- Serialization Techniques
- Use Pandas DataFrames
- Concurrency in Python
- Walking through Social Power NBA EDA and ML Project### [Day2-Part2-Google Colab Notebook](https://colab.research.google.com/drive/1hl0aHbJqoJIyC1P3OwK9UljP7bupTKEv):
#### 2.2: AWS Cloud-Native Python for ML/AI
- Introducing AWS Web Services: Creating accounts, Creating Users and Using Amazon S3
- Using Boto
- Starting development with AWS Python Lambda development with Chalice
- Using of AWS DynamoDB
- Using of Step functions with AWS
- Using of AWS Batch for ML Jobs
- Using AWS Sagemaker for Deep Learning Jobs
- Using AWS Comprehend for NLP
- Using AWS Image Recognition API*Local, non-hosted versions of these notebooks are here: https://github.com/noahgift/functional_intro_to_python/tree/master/colab-notebooks*
## Screencasts (Can Be Watched from 1-4x speed)
* Data Science Build Project
- [![Data Science Build Project](http://img.youtube.com/vi/xYX7n5bZw-w/0.jpg)](http://www.youtube.com/watch?v=xYX7n5bZw-w)
* [Screencast: How to launch AWS Spot Instances and Create Custom AMIs](https://www.dropbox.com/s/z5nbv2cu1zzub97/launch_spot.mov?dl=0)
* [Screencast: How to use AWS S3 including from Pandas and Boto inside Jupyter](https://www.dropbox.com/s/fm495qy205j2lzs/s3_screencast.mov?dl=0)## Older Version of Python Fundamentals *(Safari Version Is Newer)*
* [Lesson1: Introductory Concepts](https://github.com/noahgift/functional_intro_to_python/blob/master/notebooks/Functional_Introduction_To_Python_Section_1(Introductory_Concepts).ipynb)
* [Lesson2: Functions](https://github.com/noahgift/functional_intro_to_python/blob/master/notebooks/Functional_Introduction_To_Python_Section_2(Functions).ipynb)
* [Lesson3: Control Structures](https://github.com/noahgift/functional_intro_to_python/blob/master/notebooks/Functional_Introduction_To_Python_Section_3(Control_Structures).ipynb)
* [Lesson4: Intermediate Topics: Classes, Modules, Libraries](https://github.com/noahgift/functional_intro_to_python/blob/master/notebooks/Functional_Introduction_To_Python_Section_4(Intermediate_Topics).ipynb)
* [Lesson5: IO in Python](https://github.com/noahgift/functional_intro_to_python/blob/master/notebooks/IO%20Python.ipynb)## Additional Topics
### Python Programming Recipes
* [Immutability example notebook](https://colab.research.google.com/drive/1hZsv6KyzIHD4viFBvCYFrGaQb6Tqu4Sw)
### Managed ML and IoT
* [Managed Machine Learning Systems and Internet of Things](https://github.com/noahgift/managed_ml_systems_and_iot)
### Software Carpentary: Testing, Linting, Building
* [How Create a Python Project Github Repository](https://github.com/noahgift/myrepo)
* [How to Write "Clean" Code in Python (2010) Using Pylint](https://www.ibm.com/developerworks/aix/library/au-cleancode/)
* [How to Test Jupyter Notebooks with Pytest](https://github.com/noahgift/functional_intro_to_python/blob/master/Makefile#L9)
* [How to build and test a Python Project with CircleCI](https://github.com/noahgift/functional_intro_to_python/blob/master/.circleci/config.yml)
* [How to get test Coverage with Pytest](https://github.com/noahgift/devml/blob/master/Makefile#L8)
* [How to use Pylint to Fail on Error and Warnings only](https://github.com/noahgift/devml/blob/master/Makefile#L22)
* [Increase reliability in data science and machine learning projects with CircleCI](https://circleci.com/blog/increase-reliability-in-data-science-and-machine-learning-projects-with-circleci/)### Concurrency in Python
* [IBM Developerworks: Writing Multi-Threaded Programs in Python (2008)](https://www.ibm.com/developerworks/aix/library/au-threadingpython/)
* [IBM Developerworks: Using Multi-processing Module in Python (2009)](https://www.ibm.com/developerworks/aix/library/au-multiprocessing/index.html)
* [Writing Async Network IO Calls to AWS API](https://github.com/noahgift/awsasync)
* [Worker Farm with RabbitMQ and Tornado](https://github.com/noahgift/tornado_rabbitmq_linear_optimization)
* [Nuclear Powered Command-Line Tools: GPU/CUDA, JIT, Multi-threaded JIT](https://github.com/noahgift/nuclear_powered_command_line_tools)### Cloud Computing-AWS-Sentiment Analysis
* [AWS Sentiment Analysis Notebook](https://github.com/noahgift/recommendations/blob/master/notebooks/NLP_AWS.ipynb
)### Recommendation Engines
* [Hand coded tanimoto and Pandas similarity engine](https://github.com/noahgift/recommendations/tree/master/tanimoto_example)
### Cloud Computing-Azure-Sentiment Analysis
* [NLP on Azure](https://github.com/noahgift/recommendations/blob/master/notebooks/Azure_Sentiment_Analysis.ipynb)
### Cloud Computing-AWS
* [AWS + Boto: Python and AWS Jupyter Notebook](https://github.com/noahgift/functional_intro_to_python/blob/master/notebooks/aws/aws.ipynb)
* [AWS + Boto: Launching Spot Instances From Python](https://github.com/noahgift/spot_price_machine_learning/blob/master/spot_launcher.py)
* [AWS + Boto: Calling Spot Instance API to Create CLI Machine Learning Tool](https://github.com/noahgift/spot_price_machine_learning/blob/master/spot-price-ml.py)
* [AWS + Boto: Spot Price Jupyter Notebook Exploration](https://github.com/noahgift/spot_price_machine_learning/blob/master/notebooks/spot_pricing_ml.ipynb)### Cloud Computing-GCP
* [Google Sheets to Pandas DataFrame](https://github.com/noahgift/pragmaticai-gcp/blob/master/notebooks/dataflow_sheets_to_pandas.ipynb)
* [BigQuery to Pandas to Seaborn](https://github.com/noahgift/pragmaticai-gcp/blob/master/notebooks/pragai-big-instance-BigQuery.ipynb)
* [NLP on Google Cloud](https://github.com/noahgift/recommendations/blob/master/notebooks/NLP_GCP.ipynb)### Machine Learning and Data Science Full Jupyter Notebooks
* [DEVML: Datascience around Github](https://github.com/noahgift/devml)
* [Social Power NBA: Datascience around the NBA and Social Media](https://github.com/noahgift/socialpowernba)
* [Spot Price ML(KMeans Unsupervized Machine Learning Recommender): Datascience around AWS Spot Prices](https://github.com/noahgift/spot_price_machine_learning)### Data Visualization
#### Seaborn Examples
* [Visualizing Spot Prices in Seaborn](https://github.com/noahgift/spot_price_machine_learning/blob/master/notebooks/spot_pricing_ml.ipynb)
* [Correlation Heatmap in Seaborn for NBA](https://github.com/noahgift/socialpowernba/blob/master/notebooks/exploring_team_valuation_nba.ipynb)#### Plotly
* [Exploring 30 years of Real Estate Prices with Zillow Data and Plotly](https://github.com/noahgift/real_estate_ml/blob/master/notebooks/explore_zillow_data_sets.ipynb)
### Creating Commandline Tools
* [Python Commandline tool Rosetta: Comparing R, Bash, Go, Node, Python and Ruby](https://github.com/noahgift/cli-rosetta)
* [Pyli: Deduplication Commandline Tool That Walks A Filesystem](https://github.com/nogibjj/pyli)
* [Developersworks Article (2008): Creating Commandline Tools Python](https://www.ibm.com/developerworks/aix/library/au-pythocli/)
* [Nuclear Powered Commandline tools](https://github.com/noahgift/nuclear_powered_command_line_tools)### Creating a complete Data Engineering API
* [Real world Data Engineering API](https://github.com/noahgift/pai-aws)
### Statically Generated Websites
* [Interfacing with Hugo and Algolia from Python](https://github.com/noahgift/hugotools)
### Deploying Python Packages to PyPi
* [Article on how to deploy commandline tools and libraries to PyPi](https://www.ibm.com/developerworks/opensource/library/ba-github-analytics-2/index.html)
### Web Scraping in Python
* [Programatically Scraping Wikipedia API in Python: Pageviews and Articles](https://github.com/noahgift/socialpowernba/blob/master/socialpower/spwikipedia.py)
* [Using Python Twitter API](https://github.com/noahgift/socialpowernba/blob/master/socialpower/spwikipedia.py)
* [Serverless Web Scraping with Lambda and Step Functions](https://github.com/noahgift/web_scraping_python)
### Logging in Python
* ["Sensible" Logging Library in Python: Deployed to PyPI](https://github.com/nogibjj/sensible)
### Conceptual Machine Learning
#### Linear Regression
* [Linear Regression in Jupyter Notebook](https://github.com/noahgift/socialpowernba/blob/master/notebooks/exploring_endorsement_revenue_nba.ipynb)
### Machine Learning Model Building for Regression
* [ML Linear Regression with Yellowbrick and SKlearn](https://github.com/noahgift/regression-concepts/blob/master/ml_regression.ipynb)
### Mathematical and Algorithmic Programming
#### Optimization
* [IBM Developerworks Series on Pyomo (Linear Optimization in Python)](https://www.ibm.com/developerworks/cloud/library/cl-optimizepythoncloud1/)
* [Traveling Salesman (NP Hard Simulation Solution with Random, Greedy Start)](https://github.com/noahgift/or/blob/master/tsp_greedy_random_start.py)
* [Greedy Coin Example in Python](https://github.com/noahgift/greedy_coin)
* [✨Pragmatic AI Labs builds courses on edX](https://insight.paiml.com/d69)
* [ 💬 Join our Discord community](https://discord.gg/ZrjWxKay)### Text
The text content of notebooks is released under the [CC-BY-NC-ND license](https://github.com/noahgift/functional_intro_to_python/blob/master/license.md)