This repository showcases my Python Data Analyst Portfolio. It contains structured notes, coding exercises, interview questions, datasets, case studies, and mini-projects completed as part of my roadmap to becoming a Data Analyst.
- ✅ Module 1: Python Basics
- ✅ Module 2: Data Structures
- ✅ Module 3: NumPy
- ✅ Module 4: Pandas
- ✅ Module 5: Data Cleaning
- ⏳ Module 6: Data Visualization
- ⏳ Module 7: Mini Projects
- ⏳ Module 8: Interview Questions
- 📁 5 Modules Completed
- 📝 45+ Python Programs
- 📂 2 Practice Datasets
- 📊 4 Mini Projects
- 🚀 Updated Regularly
python-data-analyst-portfolio/
│
├── README.md
├── datasets/
│ ├── employees.csv
│ └── sales.csv
│
├── Module-01-Python-Basics/
│ ├── 01_variables.py
│ ├── 02_data_types.py
│ ├── 03_input.py
│ ├── 04_output.py
│ ├── 05_arithmetic_operators.py
│ ├── 06_comparison_operators.py
│ ├── 07_logical_operators.py
│ ├── 08_assignment_operators.py
│ ├── 09_identity_operators.py
│ ├── 10_membership_operators.py
│ ├── 11_if.py
│ ├── 12_if_else.py
│ ├── 13_elif.py
│ ├── 14_nested_if.py
│ ├── 15_for_loop.py
│ ├── 16_range.py
│ ├── 17_while_loop.py
│ ├── 18_functions.py
│ ├── 19_parameters_arguments.py
│ ├── 20_return.py
│ └── module1_revision.py
│
├── Module-02-Data-Structures/
│ ├── 01_lists.py
│ ├── 02_tuples.py
│ ├── 03_sets.py
│ ├── 04_dictionaries.py
│ └── module2_revision.py
│
├── Module-03-NumPy/
│ ├── 01_install_import.py
│ ├── 02_create_arrays.py
│ ├── 03_array_attributes.py
│ ├── 04_indexing_slicing.py
│ ├── 05_array_operations.py
│ ├── 06_broadcasting.py
│ ├── 07_aggregation_functions.py
│ ├── 08_axis.py
│ ├── 09_reshape.py
│ ├── 10_flatten_ravel.py
│ ├── 11_boolean_indexing.py
│ ├── 12_filtering.py
│ ├── 13_random_module.py
│ ├── 14_stacking_splitting.py
│ ├── 15_useful_functions.py
│ └── module3_revision.py
│
├── Module-04-Pandas/
│ ├── 01_pandas_introduction.py
│ ├── 02_series.py
│ ├── 03_dataframe.py
│ ├── 04_read_write_csv.py
│ ├── 05_select_rows_columns.py
│ ├── 06_filtering.py
│ ├── 07_sorting.py
│ ├── 08_handling_missing_values.py
│ ├── 09_groupby.py
│ ├── 10_merge.py
│ ├── 11_concat.py
│ ├── 12_apply_functions.py
│ ├── 13_pivot_table.py
│ ├── 14_useful_functions.py
│ └── module4_revision.py
│
├── Module-05-Data-Cleaning/
│ ├── 01_isnull.py
│ ├── 02_notnull.py
│ ├── 03_dropna.py
│ ├── 04_dropna_axis.py
│ ├── 05_fillna.py
│ ├── 06_fillna_mean.py
│ ├── 07_fillna_median.py
│ ├── 08_fillna_mode.py
│ ├── 09_duplicated.py
│ ├── 10_drop_duplicates.py
│ ├── 11_replace.py
│ ├── 12_astype.py
│ ├── 13_string_operations.py
│ ├── 14_datetime.py
│ └── module5_revision.py
│
├── Module-06-Visualization/
│
├── Module-07-Mini-Projects/
│ ├── 01_student_grade_calculator.py ✅ Module 1
│ ├── 02_student_record_management.py ✅ Module 2
│ ├── 03_numpy_sales_analysis_project.py ✅ Module 3
│ └── 04_pandas_sales_analysis_project.py ✅ Module 4
│
└── Module-08-Interview-Questions/
- Variables
- Data Types
- Input & Output
- Type Casting
- Operators
- Conditional Statements (
if,elif,else) forLoopswhileLoops- Functions
- Common Errors & Debugging
- Strings
- Indexing
- Slicing
- String Methods
- Creating Lists
- Indexing
- Negative Indexing
- Slicing
- Updating Elements
append()insert()remove()pop()sort()reverse()len()- Membership Operators (
in,not in)
- Creating Tuples
- Indexing
- Negative Indexing
- Immutability
- Single Element Tuples
count()index()len()
- Creating Sets
- Unique Elements
add()remove()discard()pop()clear()len()- Membership Operators
- Creating Dictionaries
- Accessing Values
- Adding & Updating Key-Value Pairs
keys()values()items()get()update()pop()clear()len()- Membership Operators
- Installing & Importing NumPy
- Creating Arrays
- Array Attributes
ndimshapesizedtype
- Indexing
- Negative Indexing
- Slicing
- Element-wise Operations
- Scalar Operations
- Power Operator (
**) - Modulus Operator (
%) - Broadcasting
- Aggregation Functions
sum()mean()max()min()
- Axis
- Reshape
- Flatten & Ravel
- Boolean Indexing
- Filtering
- Random Module
- Stacking & Splitting
- Useful NumPy Functions
arange()linspace()zeros()ones()eye()unique()sort()where()clip()
- Introduction to Pandas
- Installing & Importing Pandas
- Checking Pandas Version
- Why Pandas?
- Creating Series
- Default Index
- Custom Index
- Accessing Elements
- Indexing & Slicing
iloc- Creating Series from Dictionary
- Series Attributes
indexvaluesdtypeshapesizendim
- Creating DataFrames
- Creating DataFrame from Dictionary
- DataFrame Attributes
columnsindexshapesizendimdtypesinfo()describe()
pd.read_csv()- Reading CSV Files
head()tail()info()describe()
- Selecting Single Column
- Selecting Multiple Columns
df.columnsdf.indexdf.shape
- Comparison Operators
><==!=>=<=
- Multiple Conditions
&(AND)|(OR)
isin()between()
sort_values()- Ascending Sorting
- Descending Sorting
- Sorting by Multiple Columns
- Different Sorting Order
sort_index()inplace=True
- Missing Values
isnull()notnull()dropna()fillna()- Filling with Mean
- Filling with Median
- Filling with Mode
inplace=True
groupby()sum()mean()count()min()max()agg()- Grouping by Multiple Columns
merge()- Inner Join
- Left Join
- Right Join
- Outer Join
- Merging on Multiple Columns
concat()- Vertical Concatenation
- Horizontal Concatenation
ignore_indexaxis
apply()- Lambda Functions
- User-defined Functions
axis=0axis=1
pivot_table()indexcolumnsvaluesaggfunc- Multiple Aggregations
fill_value
unique()nunique()value_counts()duplicated()drop_duplicates()rename()astype()sample()
- Identifying Missing Values
isnull()notnull()- Counting Missing Values
- Counting Non-Missing Values
dropna()dropna(axis=1)fillna()inplace=True- Filling with Mean
- Filling with Median
- Filling with Mode
duplicated()drop_duplicates()- Identifying Duplicate Rows
- Removing Duplicate Rows
replace()- Replacing Numeric Values
- Replacing Text Values
- Replacing Multiple Values
astype()- Integer Conversion
- Float Conversion
- String Conversion
str.lower()str.upper()str.title()str.strip()str.replace()
pd.to_datetime().dt.year.dt.month.dt.day
- Matplotlib
- Seaborn
- Line Charts
- Bar Charts
- Pie Charts
- Histograms
- Scatter Plots
- Dashboards
- Student Grade Calculator ✅ Module 1
- Student Record Management ✅ Module 2
- NumPy Sales Analysis Project ✅ Module 3
- Pandas Sales Analysis Project ✅ Module 4
- 🚧 Employee Analytics Project
- 🚧 E-commerce Data Analysis
- Python Interview Questions
- NumPy Interview Questions
- Pandas Interview Questions
- Data Cleaning Interview Questions
- Data Analytics Coding Questions
- 📘 Structured learning roadmap from Python basics to data analysis.
- 💻 Hands-on coding exercises for every concept.
- 📊 Practical NumPy and Pandas implementations using real-world datasets.
- 📂 Includes sample datasets (
employees.csvandsales.csv) for hands-on practice. - 🔍 Covers filtering, sorting, grouping, merging, pivot tables, and business insights.
- 🧹 Practical data-cleaning techniques using Pandas.
- 📈 End-to-end sales analysis case studies using Pandas.
- 🚀 Real-world mini projects demonstrating applied skills.
- 📈 Regularly updated as I progress through my Data Analytics journey.
- Python
- NumPy
- Pandas
- Matplotlib
- Seaborn
- Jupyter Notebook
- VS Code
- Git
- GitHub
The goal of this portfolio is to demonstrate my Python programming skills for Data Analytics through structured learning, coding exercises, real-world datasets, case studies, and mini projects.
- ✅ Module 1 Completed
- ✅ Module 2 Completed
- ✅ Module 3 Completed
- ✅ Module 4 Completed
- ✅ Module 5 Completed
- ⏳ Module 6 Upcoming
- Learn Data Visualization using Matplotlib & Seaborn
- Build 15+ Data Analysis Projects
- Learn SQL for Data Analytics
- Learn Power BI
- Build an End-to-End Data Analyst Portfolio
This repository showcases my structured journey toward becoming a Data Analyst. Each module includes theory, coding exercises, hands-on practice, sample datasets, and real-world case studies using Python, NumPy, and Pandas. The repository is continuously updated as I progress through my Data Analytics portfolio.