---
# System prepended metadata

title: 'Group 3 & 37: Basic Python for automation/ analysis'

---

# Group 3 & 37: Basic Python for automation/ analysis

> There are different approaches to learning, we categorize them into bottom up and top down approaches
> 
> If you are a top down learner, we suggest you to look through the projects and see what it takes to build it, then learn through the syllabus and try to implement the concept to your problem on the go
> 
> If you are a bottom up learner, you might just go ahead to learn the syllabus and explore the projects later once you feel confidence with your foundation.
> 
> Either way, we highly recommend you to go through each concepts at least 3-5 times with different explanation, exercises to profoundly understand it.

# Resource:
#### Content:
- [Python tutorials for beginner](https://www.youtube.com/watch?v=YYXdXT2l-Gg&list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU) (Youtube videos 1-9) 20 hours
- [Automate the boring stuffs](http://automatetheboringstuff.com/) (free text book) 9.5 hours
- [Using Python for automation](https://www.linkedin.com/learning/using-python-for-automation/organizing-directories?u=2104756) (paid course on Linkedin learn)

#### Exercises:
- [Hackerrank](https://www.hackerrank.com/domains/python?filters%5Bstatus%5D%5B%5D=unsolved&badge_type=python)
- [Snakify](https://snakify.org/en/lessons/print_input_numbers/)
- [Project Euler](https://projecteuler.net/archives)


# Milestone projects

## Daphne
- [x] [Auto parsing and renaming files](https://www.youtube.com/watch?v=ve2pmm5JqmI&t=353s)
- [x] [Automate files in the local computer](https://www.linkedin.com/learning/using-python-for-automation/organizing-directories?u=2104756)
- [x] [Web Scrapping with Beautiful Soup](https://www.linkedin.com/learning/using-python-for-automation/organizing-directories?u=2104756)
- [x] [Automate Web Browsing with Selenium](https://www.linkedin.com/learning/using-python-for-automation/organizing-directories?u=2104756)
- [ ] [Automate Tinder swiping](https://www.youtube.com/watch?v=lvFAuUcowT4&t=2s)
## Ernest
- [ ] [Auto parsing and renaming files](https://www.youtube.com/watch?v=ve2pmm5JqmI&t=353s)
- [ ] [Automate files in the local computer](https://www.linkedin.com/learning/using-python-for-automation/organizing-directories?u=2104756)
- [ ] [Web Scrapping with Beautiful Soup](https://www.linkedin.com/learning/using-python-for-automation/organizing-directories?u=2104756)
- [ ] [Automate Web Browsing with Selenium](https://www.linkedin.com/learning/using-python-for-automation/organizing-directories?u=2104756)
- [ ] [Automate Tinder swiping](https://www.youtube.com/watch?v=lvFAuUcowT4&t=2s)
## Tian
- [x] [Auto parsing and renaming files](https://www.youtube.com/watch?v=ve2pmm5JqmI&t=353s)
- [x] [Automate files in the local computer](https://www.linkedin.com/learning/using-python-for-automation/organizing-directories?u=2104756)
- [x] [Web Scrapping with Beautiful Soup](https://www.linkedin.com/learning/using-python-for-automation/organizing-directories?u=2104756)
- [x] [Automate Web Browsing with Selenium](https://www.linkedin.com/learning/using-python-for-automation/organizing-directories?u=2104756)
- [ ] [Automate Tinder swiping](https://www.youtube.com/watch?v=lvFAuUcowT4&t=2s)
## Nat
- [ ] [Auto parsing and renaming files](https://www.youtube.com/watch?v=ve2pmm5JqmI&t=353s)
- [ ] [Automate files in the local computer](https://www.linkedin.com/learning/using-python-for-automation/organizing-directories?u=2104756)
- [ ] [Web Scrapping with Beautiful Soup](https://www.linkedin.com/learning/using-python-for-automation/organizing-directories?u=2104756)
- [ ] [Automate Web Browsing with Selenium](https://www.linkedin.com/learning/using-python-for-automation/organizing-directories?u=2104756)
- [ ] [Automate Tinder swiping](https://www.youtube.com/watch?v=lvFAuUcowT4&t=2s)

## Jerrel
- [ ] [Auto parsing and renaming files](https://www.youtube.com/watch?v=ve2pmm5JqmI&t=353s)
- [ ] [Automate files in the local computer](https://www.linkedin.com/learning/using-python-for-automation/organizing-directories?u=2104756)
- [ ] [Automate Tinder swiping](https://www.youtube.com/watch?v=lvFAuUcowT4&t=2s)
- [ ] Plot 5 most common charts: Line chart, Bar chart, Histogram, Heatmap, Scatter Plots
- [ ] Pick up a Kaggle dataset and conduct analysis on it
- [ ] Pick up a real-world problems, prepare or choose a relevant dataset, conduct analysis on it
- [ ] Publish your analysis as Medium article, Kaggle kernel or Github repo and get 50 claps/ upvotes/ stars

# Knowledge checkpoints

## Daphne

- [x] [**Milestone 0: Set up the environment**](https://www.youtube.com/watch?v=YYXdXT2l-Gg&list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU&index=1) (You can skip this and come back later if the syllabus you are taking provies the coding editor)
    - [x] Install Python 3
    - [x] Install the IDE (eg. Pycharm, Visual Studio Code, etc) 
    - [x] Execute and run code with terminal commands (eg. cd, ls, python3, etc)

- [x] **Milestone 1: Learning Basic Python syntax**

    - [x] get to know different data types (eg. `str()`, `int()`, `list()`)
    - [x] variables and naming convention
    - [x] comment # 
    - [x] `print()` 
        - [x] one variables
        - [x] multiple variables using `format()`
    - [x] read the input data from users using `input()`
        - [x] restrict the data type using `str()`, `int()`, `list()` ...

- [x] **Milestone 2: Working with numeric data - integer and float**
    - [x] Arithmetic Operators (output: result)
    - [x] Comparison (output: True/ False)
    - [x] Shortcut. Eg. `num += 1` 
    - [x] Commonly used methods: absolute `abs()`, `round()`, etc
    - [x] Work with numbers in string format. Eg. "3"
    - [x] Advanced math `import math`
- [x] **Milestone 3: Working with textual data - string**
    - [x] Single quotes vs. Double quotes
    - [x] Create multi-line string using triple quotes `'''` or `\n`
    - [x] Commonly used functions and methods in string
        - [x] Check data types: `type()`
        - [x] Check string length: `len()`
        - [x] Index
        - [x] `lower()` or `upper()` 
        - [x] Concatination 
        - [x] `replace()`
- [x] **Milestone 4: Working with boolean**
- [x] **Milestone 5: Conditional statement**
    - [x] If Else
    - [x] If Elif Else
- [x] **Milestone 6: Loops and iteration**
    - [ ] While loop
    - [ ] For loop
- [x] **Milestone 7: Function**
    - [x] Write your own function
    - [x] 3rd party function
    - [x] Global and Local scopes

- [x] **Milestone 8: Working with data in a container - list, tuple, set, dictionary**
    - [x] List
        - [x] access a list using loop
        - [x] `append()`
        - [x] list comprehension
    - [ ] Dictionary
        - [ ] understand key - value pair
        - [ ] access value from a key: dict['key']
        - [ ] add new key to a dict
        - [ ] update many keys in one shot: `update()`
        - [ ] delete a key and its value: `pop()` or `del`
        - [ ] check what keys are there: `dict.keys()`
        - [ ] check what values are there: `dict.values()`
        - [ ] check what key-value pairs are there: `dict.items()`
    - [ ] Tuple and Set

- [ ] **Milestone 9: Modules, Libraries**
    - [ ] Modules
        - [x] create modules
        - [x] variables in module
        - [x] name the module, create an alias for the module
        - [x] import module
        - [ ] commonly used modules: OS, csv, etc
    - [ ] Libraries
        - [ ] import libraries, create an alias for the module
        - [ ] commonly used libraries for automation: beautiful soup, selenium, etc

- [ ] **Bugs and Debugs strategies**
    - [ ] Commonly faced bugs and debug strategies 
    - [ ] Try and Except statement

## Ernest

- [ ] **Milestone 0: Set up the environment** (You can skip this and come back later if the syllabus you are taking provies the coding editor)
    - [ ] Install Python 3
    - [ ] Install the IDE (eg. Pycharm, Visual Studio Code, etc) 
    - [ ] Execute and run code with terminal commands (eg. cd, ls, python3, etc)

- [ ] **Milestone 1: Learning Basic Python syntax**

    - [ ] get to know different data types (eg. `str()`, `int()`, `list()`)
    - [ ] variables and naming convention
    - [ ] comment # 
    - [ ] `print()` 
        - [ ] one variables
        - [ ] multiple variables using `format()`
    - [ ] read the input data from users using `input()`
        - [ ] restrict the data type using `str()`, `int()`, `list()` ...

- [ ] **Milestone 2: Working with numeric data - integer and float**
    - [ ] Arithmetic Operators (output: result)
    - [ ] Comparison (output: True/ False)
    - [ ] Shortcut. Eg. `num += 1` 
    - [ ] Commonly used methods: absolute `abs()`, `round()`, etc
    - [ ] Work with numbers in string format. Eg. "3"
    - [ ] Advanced math `import math`
- [ ] **Milestone 3: Working with textual data - string**
    - [ ] Single quotes vs. Double quotes
    - [ ] Create multi-line string using triple quotes `'''` or `\n`
    - [ ] Commonly used functions and methods in string
        - [ ] Check data types: `type()`
        - [ ] Check string length: `len()`
        - [ ] Index
        - [ ] `lower()` or `upper()` 
        - [ ] Concatination 
        - [ ] `replace()`
- [ ] **Milestone 4: Working with boolean**
- [ ] **Milestone 5: Conditional statement**
    - [ ] If Else
    - [ ] If Elif Else
- [ ] **Milestone 6: Loops and iteration**
    - [ ] While loop
    - [ ] For loop
- [ ] **Milestone 7: Function**
    - [ ] Write your own function
    - [ ] 3rd party function
    - [ ] Global and Local scopes

- [ ] **Milestone 8: Working with data in a container - list, tuple, set, dictionary**
    - [ ] List
        - [ ] access a list using loop
        - [ ] `append()`
        - [ ] list comprehension
    - [ ] Dictionary
        - [ ] understand key - value pair
        - [ ] access value from a key: dict['key']
        - [ ] add new key to a dict
        - [ ] update many keys in one shot: `update()`
        - [ ] delete a key and its value: `pop()` or `del`
        - [ ] check what keys are there: `dict.keys()`
        - [ ] check what values are there: `dict.values()`
        - [ ] check what key-value pairs are there: `dict.items()`
    - [ ] Tuple and Set

- [ ] **Milestone 9: Modules, Libraries**
    - [ ] Modules
        - [ ] create modules
        - [ ] variables in module
        - [ ] name the module, create an alias for the module
        - [ ] import module
        - [ ] commonly used modules: OS, csv, etc
    - [ ] Libraries
        - [ ] import libraries, create an alias for the module
        - [ ] commonly used libraries for automation: beautiful soup, selenium, etc

- [ ] **Bugs and Debugs strategies**
    - [ ] Commonly faced bugs and debug strategies 
    - [ ] Try and Except statement

## Tian

- [x] **Milestone 0: Set up the environment** (You can skip this and come back later if the syllabus you are taking provies the coding editor)
    - [x] Install Python 3
    - [x] Install the IDE (eg. Pycharm, Visual Studio Code, etc) 
    - [x] Execute and run code with terminal commands (eg. cd, ls, python3, etc)

- [ ] **Milestone 1: Learning Basic Python syntax**

    - [x] get to know different data types (eg. `str()`, `int()`, `list()`)
    - [x] variables and naming convention
    - [x] comment # 
    - [x] `print()` 
        - [x] one variables
        - [ ] multiple variables using `format()`
    - [x] read the input data from users using `input()`
        - [x] restrict the data type using `str()`, `int()`, `list()` ...

- [ ] **Milestone 2: Working with numeric data - integer and float**
    - [x] Arithmetic Operators (output: result)
    - [x] Comparison (output: True/ False)
    - [x] Shortcut. Eg. `num += 1` 
    - [x] Commonly used methods: absolute `abs()`, `round()`, etc
    - [ ] Work with numbers in string format. Eg. "3"
    - [ ] Advanced math `import math`
- [ ] **Milestone 3: Working with textual data - string**
    - [ ] Single quotes vs. Double quotes
    - [x] Create multi-line string using triple quotes `'''` or `\n`
    - [ ] Commonly used functions and methods in string
        - [x] Check data types: `type()`
        - [x] Check string length: `len()`
        - [x] Index
        - [x] `lower()` or `upper()` 
        - [ ] Concatination 
        - [ ] `replace()`
- [x] **Milestone 4: Working with boolean**
- [x] **Milestone 5: Conditional statement**
    - [x] If Else
    - [x] If Elif Else
- [x] **Milestone 6: Loops and iteration**
    - [x] While loop
    - [x] For loop
- [ ] **Milestone 7: Function**
    - [x] Write your own function
    - [ ] 3rd party function
    - [ ] Global and Local scopes

- [ ] **Milestone 8: Working with data in a container - list, tuple, set, dictionary**
    - [x] List
        - [x] access a list using loop
        - [x] `append()`
        - [x] list comprehension
    - [x] Dictionary
        - [x] understand key - value pair
        - [x] access value from a key: dict['key']
        - [x] add new key to a dict
        - [x] update many keys in one shot: `update()`
        - [x] delete a key and its value: `pop()` or `del`
        - [x] check what keys are there: `dict.keys()`
        - [x] check what values are there: `dict.values()`
        - [x] check what key-value pairs are there: `dict.items()`
    - [x] Tuple and Set

- [ ] **Milestone 9: Modules, Libraries**
    - [x] Modules
        - [x] create modules
        - [x] variables in module
        - [x] name the module, create an alias for the module
        - [x] import module
        - [ ] commonly used modules: OS, csv, etc
    - [ ] Libraries
        - [ ] import libraries, create an alias for the module
        - [ ] commonly used libraries for automation: beautiful soup, selenium, etc

- [x] **Bugs and Debugs strategies**
    - [x] Commonly faced bugs and debug strategies 
    - [x] Try and Except statement

## Nat

- [ ] **Milestone 0: Set up the environment** (You can skip this and come back later if the syllabus you are taking provies the coding editor)
    - [ ] Install Python 3
    - [ ] Install the IDE (eg. Pycharm, Visual Studio Code, etc) 
    - [ ] Execute and run code with terminal commands (eg. cd, ls, python3, etc)

- [ ] **Milestone 1: Learning Basic Python syntax**

    - [ ] get to know different data types (eg. `str()`, `int()`, `list()`)
    - [ ] variables and naming convention
    - [ ] comment # 
    - [ ] `print()` 
        - [ ] one variables
        - [ ] multiple variables using `format()`
    - [ ] read the input data from users using `input()`
        - [ ] restrict the data type using `str()`, `int()`, `list()` ...

- [ ] **Milestone 2: Working with numeric data - integer and float**
    - [ ] Arithmetic Operators (output: result)
    - [ ] Comparison (output: True/ False)
    - [ ] Shortcut. Eg. `num += 1` 
    - [ ] Commonly used methods: absolute `abs()`, `round()`, etc
    - [ ] Work with numbers in string format. Eg. "3"
    - [ ] Advanced math `import math`
- [ ] **Milestone 3: Working with textual data - string**
    - [ ] Single quotes vs. Double quotes
    - [ ] Create multi-line string using triple quotes `'''` or `\n`
    - [ ] Commonly used functions and methods in string
        - [ ] Check data types: `type()`
        - [ ] Check string length: `len()`
        - [ ] Index
        - [ ] `lower()` or `upper()` 
        - [ ] Concatination 
        - [ ] `replace()`
- [ ] **Milestone 4: Working with boolean**
- [ ] **Milestone 5: Conditional statement**
    - [ ] If Else
    - [ ] If Elif Else
- [ ] **Milestone 6: Loops and iteration**
    - [ ] While loop
    - [ ] For loop
- [ ] **Milestone 7: Function**
    - [ ] Write your own function
    - [ ] 3rd party function
    - [ ] Global and Local scopes

- [ ] **Milestone 8: Working with data in a container - list, tuple, set, dictionary**
    - [ ] List
        - [ ] access a list using loop
        - [ ] `append()`
        - [ ] list comprehension
    - [ ] Dictionary
        - [ ] understand key - value pair
        - [ ] access value from a key: dict['key']
        - [ ] add new key to a dict
        - [ ] update many keys in one shot: `update()`
        - [ ] delete a key and its value: `pop()` or `del`
        - [ ] check what keys are there: `dict.keys()`
        - [ ] check what values are there: `dict.values()`
        - [ ] check what key-value pairs are there: `dict.items()`
    - [ ] Tuple and Set

- [ ] **Milestone 9: Modules, Libraries**
    - [ ] Modules
        - [ ] create modules
        - [ ] variables in module
        - [ ] name the module, create an alias for the module
        - [ ] import module
        - [ ] commonly used modules: OS, csv, etc
    - [ ] Libraries
        - [ ] import libraries, create an alias for the module
        - [ ] commonly used libraries for automation: beautiful soup, selenium, etc

- [ ] **Bugs and Debugs strategies**
    - [ ] Commonly faced bugs and debug strategies 
    - [ ] Try and Except statement

## Nat

- [ ] **Milestone 0: Set up the environment** (You can skip this and come back later if the syllabus you are taking provies the coding editor)
    - [ ] Install Python 3
    - [ ] Install the IDE (eg. Pycharm, Visual Studio Code, etc) 
    - [ ] Execute and run code with terminal commands (eg. cd, ls, python3, etc)

- [ ] **Milestone 1: Learning Basic Python syntax**

    - [ ] get to know different data types (eg. `str()`, `int()`, `list()`)
    - [ ] variables and naming convention
    - [ ] comment # 
    - [ ] `print()` 
        - [ ] one variables
        - [ ] multiple variables using `format()`
    - [ ] read the input data from users using `input()`
        - [ ] restrict the data type using `str()`, `int()`, `list()` ...

- [ ] **Milestone 2: Working with numeric data - integer and float**
    - [ ] Arithmetic Operators (output: result)
    - [ ] Comparison (output: True/ False)
    - [ ] Shortcut. Eg. `num += 1` 
    - [ ] Commonly used methods: absolute `abs()`, `round()`, etc
    - [ ] Work with numbers in string format. Eg. "3"
    - [ ] Advanced math `import math`
- [ ] **Milestone 3: Working with textual data - string**
    - [ ] Single quotes vs. Double quotes
    - [ ] Create multi-line string using triple quotes `'''` or `\n`
    - [ ] Commonly used functions and methods in string
        - [ ] Check data types: `type()`
        - [ ] Check string length: `len()`
        - [ ] Index
        - [ ] `lower()` or `upper()` 
        - [ ] Concatination 
        - [ ] `replace()`
- [ ] **Milestone 4: Working with boolean**
- [ ] **Milestone 5: Conditional statement**
    - [ ] If Else
    - [ ] If Elif Else
- [ ] **Milestone 6: Loops and iteration**
    - [ ] While loop
    - [ ] For loop
- [ ] **Milestone 7: Function**
    - [ ] Write your own function
    - [ ] 3rd party function
    - [ ] Global and Local scopes

- [ ] **Milestone 8: Working with data in a container - list, tuple, set, dictionary**
    - [ ] List
        - [ ] access a list using loop
        - [ ] `append()`
        - [ ] list comprehension
    - [ ] Dictionary
        - [ ] understand key - value pair
        - [ ] access value from a key: dict['key']
        - [ ] add new key to a dict
        - [ ] update many keys in one shot: `update()`
        - [ ] delete a key and its value: `pop()` or `del`
        - [ ] check what keys are there: `dict.keys()`
        - [ ] check what values are there: `dict.values()`
        - [ ] check what key-value pairs are there: `dict.items()`
    - [ ] Tuple and Set

- [ ] **Milestone 9: Modules, Libraries**
    - [ ] Modules
        - [ ] create modules
        - [ ] variables in module
        - [ ] name the module, create an alias for the module
        - [ ] import module
        - [ ] commonly used modules: OS, csv, etc
    - [ ] Libraries
        - [ ] import libraries, create an alias for the module
        - [ ] commonly used libraries for automation: beautiful soup, selenium, etc

- [ ] **Bugs and Debugs strategies**
    - [ ] Commonly faced bugs and debug strategies 
    - [ ] Try and Except statement

## Jerrel

- [x] **Milestone 0: Set up the environment** (You can skip this and come back later if the syllabus you are taking provies the coding editor)
    - [x] Install Python 3, jupyter notebook and data libraries (pandas, matplotlib, etc)
    - [x] Alternatively, you can choose to install the anaconda package, it will include everything you need

- [x] **Milestone 1: Learning Basic Python syntax**

    - [x] get to know different data types (eg. `str()`, `int()`, `list()`)
    - [x] variables and naming convention
    - [x] comment # 
    - [x] `print()` 
        - [x] one variables
        - [x] multiple variables using `format()`
    - [x] read the input data from users using `input()`
        - [x] restrict the data type using `str()`, `int()`, `list()` ...

- [x] **Milestone 2: Working with numeric data - integer and float**
    - [x] Arithmetic Operators (output: result)
    - [x] Comparison (output: True/ False)
    - [x] Shortcut. Eg. `num += 1` 
    - [x] Commonly used methods: absolute `abs()`, `round()`, etc
    - [x] Work with numbers in string format. Eg. "3"
    - [x] Advanced math `import math`
- [x] **Milestone 3: Working with textual data - string**
    - [x] Single quotes vs. Double quotes
    - [x] Create multi-line string using triple quotes `'''` or `\n`
    - [x] Commonly used functions and methods in string
        - [x] Check data types: `type()`
        - [x] Check string length: `len()`
        - [x] Index
        - [x] `lower()` or `upper()` 
        - [x] Concatination 
        - [x] `replace()`
- [ ] **Milestone 4: Conditional statement and boolean**
    - [ ] If Else
    - [ ] If Elif Else
- [ ] **Milestone 5: Loops and iteration**
    - [ ] While loop
    - [ ] For loop
- [x] **Milestone 6: Function**
    - [x] Write your own function
    - [x] 3rd party function
    - [x] Global and Local scopes

- [x] **Milestone 7: Working with data in a container - list, tuple, set, dictionary**
    - [x] List
        - [x] access a list using loop
        - [x] `append()`
        - [x] list comprehension
    - [x] Dictionary
        - [x] understand key - value pair
        - [x] access value from a key: dict['key']
        - [x] add new key to a dict
        - [x] update many keys in one shot: `update()`
        - [x] delete a key and its value: `pop()` or `del`
        - [x] check what keys are there: `dict.keys()`
        - [x] check what values are there: `dict.values()`
        - [x] check what key-value pairs are there: `dict.items()`
    - [x] Tuple and Set

- [ ] **Milestone 8: Modules, Libraries**
    - [ ] Modules
        - [ ] create modules
        - [ ] variables in module
        - [ ] name the module, create an alias for the module
        - [ ] import module
        - [ ] commonly used modules: OS, csv, etc
    - [ ] Libraries
        - [ ] import libraries, create an alias for the module
        - [ ] commonly used libraries for automation: beautiful soup, selenium, etc

- [ ] **Milestone 9: Pandas libraries**
    - [ ] Creating, reading, and writing
    - [ ] Indexing, selecting, and assigning
    - [ ] Summary functions and maps
    - [ ] Grouping and sorting
    - [ ] Data types and missing values
    - [ ] Renaming and combining

- [ ] **Milestone 10: Visualization libraries**
    - [ ] Matplotlib, Seaborn
    - [ ] Line charts
    - [ ] Bar charts and heatmaps
    - [ ] Scatter plots
    - [ ] Distribution
    - [ ] Choosing plot types and custom styles

- [ ] **Bugs and Debugs strategies**
    - [ ] Commonly faced bugs and debug strategies 
    - [ ] Try and Except statement