This project involves exploring and analyzing a CSV dataset on bike sharing from three different cities in the United States using Python. The analysis is conducted based on user inputs, creating an interactive experience for the audience.
The datasets provided by Motivate, a bike share system provider in the US, contains randomly selected data for the first six months of 2017 for all three cities (Chicago, New York City, Washington). All three of the data files contain the same core six (6) columns:
- Start Time (e.g., 2017-01-01 00:07:57)
- End Time (e.g., 2017-01-01 00:20:53)
- Trip Duration (in seconds - e.g., 776)
- Start Station (e.g., Broadway & Barry Ave)
- End Station (e.g., Sedgwick St & North Ave)
- User Type (Subscriber or Customer)
The Chicago and New York City files also have the following two columns:
- Gender
- Birth Year
The original files are much larger and messier, hence they are not used on the project. they can be accessed here (Chicago, New York City, Washington). These files had more columns and they differed in format in many cases. Some data wrangling has been performed to condense these files to the above core six columns.
-
Popular times of travel (i.e., occurs most often in the start time)
- most common month
- most common day of week
- most common hour of day
-
Popular stations and trip
- most common start station
- most common end station
- most common trip from start to end (i.e., most frequent combination of start station and end station)
-
Trip duration
- total travel time
- average travel time
-
User info
- counts of each user type
- counts of each gender (only available for NYC and Chicago)
- earliest, most recent, most common year of birth (only available for NYC and Chicago)
-
Graphs
- Distribution of birth year
- Count plot of gender
- Count plot of user type
- Top 10 most used start stations
- Top 10 most used end stations
- Python
- Pandas
- Numpy
- plotly.express
- Dash
- dash_iconify
- dash_bootstrap_components
- dash_mantine_components
- Visual Studio (IDE)
Render's Web Service (free tier) is used to host the web version of this project
- chicago.csv
- new_york_city.csv
- washington.csv
bikeshare.py creates an interactive experience in the terminal while app.py displays a link in the terminal that creates a web app when clicked (ctrl + click
) on
requirements.txt is the file needed for the hosting service render. It contains the libraries used in the making of app.py