Other Projects

Other interesting projects

Scroll to explore
AI · Data Analysis

NYC Taxi Analysis

An exploratory analysis of roughly 15 million New York yellow-taxi trips from 2013, joining trip records to their fares and digging for patterns in where rides end, when the city speeds up and slows down, how people pay, and what really drives a day's revenue.

Role
Solo — data wrangling, analysis & visualization
Focus
Exploratory data analysis · geospatial · time series
Stack
Python · pandas / numpy · matplotlib · gmaps
Overview

Join the trips to the fares, then clean hard

The starting point is two large CSV datasets — trip records and the matching fare records, around 14.8 million rows across 2013 — merged in pandas into one table linking each ride's geography and timing to what it cost.

Real-world data needs real cleaning: trips with null or out-of-bounds coordinates are filtered out before any analysis, so the patterns that follow come from rides that actually make sense rather than logging glitches.

Core — What the data showed

Geography, time and money

Where rides end

A heatmap of half a million dropoffs rendered through the Google Maps API shows a fairly even spread across Manhattan, with a clear hotspot around Madison Square Garden.

When the city is quickest

Tracking seconds-per-mile across the 24-hour cycle, traffic is at its freest around 5 a.m. — the hour where the same trip covers ground fastest.

How people pay

Even in 2013, card already edged out cash — roughly 52.5% of trips paid by card versus 47.3% cash — and the fixed MTA tax shows up as a flat cost uncorrelated with revenue.

What drives a day

Daily revenue tracks the number of rides almost perfectly (r ≈ 0.99) and only loosely follows the average fare per trip — earnings are a volume game, not a price one. Weekday takings also beat weekends, against the tourism hypothesis.

Takeaways

The story the trips tell

Put together, the picture is a city of short hops — trip distance clusters around two miles — where the route to a good day is more rides rather than pricier ones, card payment was already the norm a decade ago, and demand stays remarkably steady through the year with only mild seasonal drift. None of it needs a model; it falls out of careful joining, cleaning and the right plot.

Stack

What it's built on

Data
NYC TLC 2013Trip + fare CSVs~14.8M rows
Wrangling
pandasnumpyMerge & clean
Visualization
matplotlibgmaps heatmapGoogle Maps API
Environment
PythonJupyter

A solo exploratory analysis end to end — merging and cleaning ~15 million 2013 taxi trips, then reading their geography, timing and economics to show a short-hop, card-paying, volume-driven city.