From 9c38cd661822de9b9e4e4c404e95e431d026a7b0 Mon Sep 17 00:00:00 2001 From: c515c131dd28579dcdeb427f70f87061 Date: Mon, 16 Sep 2024 12:29:25 +0000 Subject: [PATCH] Update data_analysis.ipynb --- module 2/exo4/data_analysis.ipynb | 48 +++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/module 2/exo4/data_analysis.ipynb b/module 2/exo4/data_analysis.ipynb index 43886cb..8a6846f 100644 --- a/module 2/exo4/data_analysis.ipynb +++ b/module 2/exo4/data_analysis.ipynb @@ -4,3 +4,51 @@ Date,Activity,Duration,Mood 2024-09-16,Work,3,4 2024-09-16,Exercise,1,5 +import pandas as pd +import matplotlib.pyplot as plt + +# Load the data +data = pd.DataFrame({ + 'Date': ['2024-09-13', '2024-09-13', '2024-09-16', '2024-09-16'], + 'Activity': ['Work', 'Exercise', 'Work', 'Exercise'], + 'Duration': [3, 1, 3, 1], + 'Mood': [5, 4, 4, 5] +}) + +# Convert 'Date' column to datetime format +data['Date'] = pd.to_datetime(data['Date']) + +# Display the first few rows of the dataset +print("Data Overview:") +print(data) + +# Basic Statistics +print("\nBasic Statistics:") +print(data.describe(include='all')) + +# Additional Statistics +mean_duration = data['Duration'].mean() +median_mood = data['Mood'].median() +print(f"\nAverage Duration: {mean_duration:.2f}") +print(f"Median Mood: {median_mood:.2f}") + +# Plot Duration Over Time using Matplotlib +plt.figure(figsize=(12, 6)) +for activity in data['Activity'].unique(): + subset = data[data['Activity'] == activity] + plt.plot(subset['Date'], subset['Duration'], marker='o', linestyle='-', label=activity) +plt.title('Daily Duration of Activities') +plt.xlabel('Date') +plt.ylabel('Duration (hours)') +plt.legend(title='Activity') +plt.xticks(rotation=45) +plt.tight_layout() +plt.show() + +# Histogram of Mood Ratings using Matplotlib +plt.figure(figsize=(8, 6)) +plt.hist(data['Mood'], bins=5, color='skyblue', edgecolor='black') +plt.title('Distribution of Mood Ratings') +plt.xlabel('Mood Rating') +plt.ylabel('Frequency') +plt.show() -- 2.18.1