A portfolio of labs and assignments completed for a course at Western University. The work covers a progression from core Python programming to data analysis, visualization, network analysis, geospatial mapping, and natural language processing.
Exploratory data analysis of a Spotify tracks dataset using pandas. Covers data cleaning and transformation, descriptive statistics, boolean filtering, and data visualization with matplotlib.
Visualizations:
String parsing and data manipulation in Python using a Project Gutenberg eBook dataset. Covers string slicing and splitting, custom sorting functions, dictionary aggregation, and list manipulation.
Visualizations:
Introduction to network analysis using NetworkX and pandas. Covers graph theory concepts, building graphs from CSV data, computing weighted degree and betweenness centrality, and visualizing networks with node sizing scaled to centrality values.
Visualizations:
Pandas lab using a Hollywood movies dataset (2,000 films). Covers loading and inspecting data, dropping and renaming columns, creating derived columns, sorting, and slicing DataFrames.
Structured data analysis and visualization using an extended movies dataset. Covers handling missing values, boolean filtering, label-based and positional slicing, value counts, and pie chart visualization with matplotlib.
Sentiment analysis using spaCy on the 2017 Beauty and the Beast screenplay. Covers polarity and subjectivity scoring, interpreting sentiment results, analyzing a full screenplay sentence-by-sentence, and visualizing sentiment trends across the plot.
Geocoding and interactive map visualization using geopy and folium. Covers coordinate lookup, location attributes, multi-result geocoding, and adding custom markers to an interactive map centered on London, Ontario.
| Library | Purpose |
|---|---|
| pandas | Data manipulation and analysis |
| NumPy | Multi-dimensional arrays and matrix support |
| Library | Purpose |
|---|---|
| matplotlib | Static data visualization |
| folium | Interactive map visualization |
| Library | Purpose |
|---|---|
| NetworkX | Relationships and communication patterns within networks |
| Library | Purpose |
|---|---|
| spaCy | Advanced NLP pipeline and text processing |
| SpaCyTextBlob | Sentiment analysis via polarity and subjectivity scoring |





