This project aims to analyze Uber ride data to understand various aspects of ride usage, such as the distribution of rides across different categories, purposes, months, days, and times. The analysis is visualized using a dashboard to provide insights into ride patterns and help make data-driven decisions.
- UberDataset.csv: The original dataset containing raw Uber ride data.
- UberDatasetCleaned.csv: The cleaned dataset after preprocessing.
- Dashboard.png: An image file showing the dashboard visualizing the analysis results.
- Uber_Rides_Data_Analysis_Documentation_and_Recommendations.docx: A document containing detailed documentation of the analysis steps and recommendations based on the analysis.
-
Importing Libraries:
- Used pandas for data manipulation, numpy for numerical operations, matplotlib.pyplot and seaborn for data visualization.
-
Loading the Dataset:
- Loaded the Uber dataset from a CSV file and displayed the first 10 rows to understand its structure.
-
Basic Data Exploration:
- Generated summary statistics, concise data summary, checked for missing values, duplicate rows, and unique values in each column.
-
Handling Missing Values:
- Filled missing values in the 'PURPOSE' column using forward fill method.
-
Converting Date Columns:
- Converted 'START_DATE' and 'END_DATE' columns to datetime format.
-
Extracting Date and Time Components:
- Extracted date, time, month, and year from 'START_DATE' and 'END_DATE' columns and added these as new columns.
-
Dropping Original Date Columns:
- Dropped 'START_DATE' and 'END_DATE' columns and rearranged the remaining columns.
-
Handling Missing Values in 'Month' and 'Year' Columns:
- Filled missing values in the 'month' and 'year' columns using the mode and converted them to integer type.
-
Extracting Hour and Minute Components:
- Extracted hours and minutes from 'start_time' and 'end_time' columns and added them as new columns.
-
Calculating Duration:
- Calculated the duration of each trip in minutes and added it as a new column.
-
Plotting Data:
- Visualized the data using various plots like heatmap for correlations, count plots, bar plots, and distribution plots to understand the patterns and distributions in the data.
-
Saving Cleaned Data:
- Saved the cleaned and processed DataFrame to a new CSV file.
The dashboard visualizes key insights from the analysis:
- Count of CATEGORY by CATEGORY: Shows the distribution of rides by business and personal categories.
- Count of Month by Month: Displays the number of rides each month.
- Count of Month and Sum of MILES by Month: Combines the count of rides and the total miles traveled each month.
- Count of Day by Day: Shows the distribution of rides across different days of the week.
- Count of PURPOSE by PURPOSE and CATEGORY: Displays the purpose of rides and categorizes them by business and personal use.
- Sum of MILES by Day Time: Shows the total miles traveled during different times of the day.
Based on the analysis, the following recommendations are made:
- Optimize Ride Allocation During Peak Months.
- Target Marketing Campaigns by Purpose.
- Improve Services During Peak Hours.
- Monitor and Reduce Trip Duration.
- Enhance Services in High-Demand Categories.
- Seasonal Promotions.
- Analyze High-Mileage Trips.
- Focus on Popular Routes and Destinations.
- Customer Feedback Integration.
- Driver Training Programs.
By implementing these recommendations, Uber can enhance its operational efficiency, improve customer satisfaction, and increase overall ridership.
- Load the provided CSV files (
UberDataset.csv
andUberDatasetCleaned.csv
) into a pandas DataFrame. - Follow the documented steps to understand the data cleaning and preprocessing process.
- Review the dashboard (
Dashboard.png
) to gain insights from the visualized data. - Refer to the recommendations document (
Uber_Rides_Data_Analysis_Documentation_and_Recommendations.docx
) for detailed documentation and suggestions for improvement.
- George Youhana - georgeyouhana2@gmail.com
- Mohamed Hesham - moahmedemammdev@gmail.com
Feel free to reach out to any of the collaborators for questions or further information regarding the project.
- Clone the Repository:
git clone https://github.com/Geo-y20/Uber-Rides-Data-Analysis.git
- Navigate to the Project Directory:
cd Uber-Rides-Data-Analysis
- Install the Required Libraries:
pip install -r requirements.txt
- Run the Jupyter Notebook:
jupyter notebook Uber_Rides_Data_Analysis.ipynb
- Review the Documentation and Recommendations:
- Open and review the
Uber_Rides_Data_Analysis_Documentation_and_Recommendations.docx
for detailed documentation and insights.
- Open and review the