adding corelation.py, corelation_old.py, README.md, hr_gramic.csv and sleep_gramic.csv
This commit is contained in:
		
							parent
							
								
									8d575f2d56
								
							
						
					
					
						commit
						bee98b90da
					
				
							
								
								
									
										17
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								README.md
									
									
									
									
									
								
							@ -18,4 +18,19 @@ Für die folgenden Aufträge dürfen Sie je nach Vorkenntnisse beliebige Tools (
 | 
			
		||||
## Problems
 | 
			
		||||
- Garmin Weekly Algorithmus unknown.
 | 
			
		||||
  Reverse Engineering necessery
 | 
			
		||||
- Comparition between Garmin (Instict Solar 2X) and Withings (Steel HR Sport) not necessarely given
 | 
			
		||||
- Comparition between Garmin (Instict Solar 2X) and Withings (Steel HR Sport) not necessarely given
 | 
			
		||||
 | 
			
		||||
## Python Depencencis
 | 
			
		||||
- 
 | 
			
		||||
 | 
			
		||||
```shell
 | 
			
		||||
pip install --upgrade pip
 | 
			
		||||
pip install matplotlib
 | 
			
		||||
pip install pandas
 | 
			
		||||
pip install pybtex
 | 
			
		||||
pip install requests
 | 
			
		||||
pip install pyyaml
 | 
			
		||||
pip install setuptools
 | 
			
		||||
pip install bs4
 | 
			
		||||
pip install requests
 | 
			
		||||
```
 | 
			
		||||
							
								
								
									
										40
									
								
								code/corelation.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								code/corelation.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,40 @@
 | 
			
		||||
import pandas as pd
 | 
			
		||||
 | 
			
		||||
# Lade die CSV-Dateien
 | 
			
		||||
# Datei 1 mit Semikolon (;) separiert (HR-Daten)
 | 
			
		||||
hr_data = pd.read_csv('/home/gra/PycharmProjects/cds_introduction_data_science_assignment/data/raw/hr_gramic.csv', sep=';')
 | 
			
		||||
 | 
			
		||||
# Datei 2 mit Komma (,) separiert (Schlafdaten)
 | 
			
		||||
sleep_data = pd.read_csv('/home/gra/PycharmProjects/cds_introduction_data_science_assignment/data/raw/sleep_gramic.csv', sep=',')
 | 
			
		||||
 | 
			
		||||
# Überprüfen der ersten Zeilen der Dateien
 | 
			
		||||
print("HR-Daten (vor der Berechnung des Durchschnitts):")
 | 
			
		||||
print(hr_data.head())
 | 
			
		||||
 | 
			
		||||
# Berechne den Durchschnitt der HR-Daten (zwischen Ruhe und Hoch)
 | 
			
		||||
# Erstelle eine neue Spalte 'avg_hr', die den Durchschnitt von 'Resting HR' und 'High HR' enthält
 | 
			
		||||
hr_data['avg_hr'] = hr_data[['In Ruhe', 'Hoch']].mean(axis=1)
 | 
			
		||||
 | 
			
		||||
# Überprüfen der ersten Zeilen nach dem Hinzufügen der 'avg_hr' Spalte
 | 
			
		||||
print("\nHR-Daten (nach der Berechnung des Durchschnitts):")
 | 
			
		||||
print(hr_data.head())
 | 
			
		||||
 | 
			
		||||
# Überprüfen der ersten Zeilen der Schlafdaten
 | 
			
		||||
print("\nSchlafdaten:")
 | 
			
		||||
print(sleep_data.head())
 | 
			
		||||
 | 
			
		||||
# Sicherstellen, dass beide Datensätze nach Woche sortiert sind
 | 
			
		||||
hr_data = hr_data.sort_values(by='Datum')
 | 
			
		||||
sleep_data = sleep_data.sort_values(by='Datum')
 | 
			
		||||
 | 
			
		||||
# Kombinieren der beiden Datensätze anhand der 'week' Spalte
 | 
			
		||||
combined_data = pd.merge(hr_data, sleep_data, on='Datum')
 | 
			
		||||
 | 
			
		||||
# Überprüfen der kombinierten Daten
 | 
			
		||||
print("\nKombinierte Daten:")
 | 
			
		||||
print(combined_data.head())
 | 
			
		||||
 | 
			
		||||
# Berechne die Korrelation zwischen dem durchschnittlichen Herzfrequenzwert ('avg_hr') und der Schlafdauer ('sleep_duration')
 | 
			
		||||
correlation = combined_data['avg_hr'].corr(combined_data['Durchschnittliche Dauer'])
 | 
			
		||||
 | 
			
		||||
print(f"\nDie Korrelation zwischen der durchschnittlichen Herzfrequenz und der Schlafdauer ist: {correlation}")
 | 
			
		||||
							
								
								
									
										35
									
								
								code/corelation_old.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								code/corelation_old.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,35 @@
 | 
			
		||||
import pandas as pd
 | 
			
		||||
 | 
			
		||||
# Lade die CSV-Dateien
 | 
			
		||||
# Datei 1 mit Semikolon (;) separiert (HR-Daten)
 | 
			
		||||
hr_data = pd.read_csv('/home/gra/PycharmProjects/cds_introduction_data_science_assignment/data/raw/hr_gramic.csv', sep=';')
 | 
			
		||||
 | 
			
		||||
# Datei 2 mit Komma (,) separiert (Schlafdaten)
 | 
			
		||||
sleep_data = pd.read_csv('/home/gra/PycharmProjects/cds_introduction_data_science_assignment/data/raw/sleep_gramic.csv', sep=',')
 | 
			
		||||
 | 
			
		||||
# Überprüfen der ersten Zeilen der Dateien
 | 
			
		||||
print("HR-Daten:")
 | 
			
		||||
print(hr_data.head())
 | 
			
		||||
 | 
			
		||||
print("\nSchlafdaten:")
 | 
			
		||||
print(sleep_data.head())
 | 
			
		||||
 | 
			
		||||
# Annahme: Beide Datensätze enthalten eine Spalte für Wochen (z.B. 'week')
 | 
			
		||||
# und die jeweiligen Werte (z.B. 'avg_hr' für Herzfrequenz und 'sleep_duration' für Schlafdauer)
 | 
			
		||||
 | 
			
		||||
# Sicherstellen, dass beide Datensätze nach Woche sortiert sind
 | 
			
		||||
hr_data = hr_data.sort_values(by='Datum')
 | 
			
		||||
sleep_data = sleep_data.sort_values(by='week')
 | 
			
		||||
 | 
			
		||||
# Kombinieren der beiden Datensätze anhand der 'week' Spalte
 | 
			
		||||
combined_data = pd.merge(hr_data, sleep_data, on='Datum')
 | 
			
		||||
 | 
			
		||||
# Überprüfen der kombinierten Daten
 | 
			
		||||
print("\nKombinierte Daten:")
 | 
			
		||||
print(combined_data.head())
 | 
			
		||||
 | 
			
		||||
# Berechne die Korrelation zwischen der durchschnittlichen Herzfrequenz (z.B. 'avg_hr')
 | 
			
		||||
# und der Schlafdauer (z.B. 'sleep_duration')
 | 
			
		||||
correlation = combined_data['avg_hr'].corr(combined_data['Durchschnittliche Dauer'])
 | 
			
		||||
 | 
			
		||||
print(f"\nDie Korrelation zwischen der Herzfrequenz und der Schlafdauer ist: {correlation}")
 | 
			
		||||
							
								
								
									
										21
									
								
								code/crawler.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								code/crawler.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
			
		||||
import requests
 | 
			
		||||
from bs4 import BeautifulSoup
 | 
			
		||||
import queue
 | 
			
		||||
import re
 | 
			
		||||
import time
 | 
			
		||||
import random
 | 
			
		||||
 | 
			
		||||
urls = queue.PriorityQueue()
 | 
			
		||||
urls.put((0.5, "https://www.scrapingcourse.com/ecommerce/"))
 | 
			
		||||
visited_urls = []
 | 
			
		||||
 | 
			
		||||
while not urls.empty():
 | 
			
		||||
    _, current_url = urls.get()
 | 
			
		||||
    soup = BeautifulSoup(get_html(current_url), "html.parser")
 | 
			
		||||
 | 
			
		||||
    visited_urls.append(current_url)
 | 
			
		||||
    crawl_page(soup, current_url, visited_urls, urls)
 | 
			
		||||
 | 
			
		||||
    # if it is a product page:
 | 
			
		||||
    # scrape_page(soup, url, products)
 | 
			
		||||
time.sleep(random.uniform(1, 3))
 | 
			
		||||
							
								
								
									
										53
									
								
								data/raw/hr_gramic.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								data/raw/hr_gramic.csv
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,53 @@
 | 
			
		||||
Datum;In Ruhe;Hoch
 | 
			
		||||
Okt 4-10;67 bpm;130 bpm
 | 
			
		||||
Sep 27 - Okt 3;67 bpm;143 bpm
 | 
			
		||||
Sep 20-26;66 bpm;149 bpm
 | 
			
		||||
Sep 13-19;66 bpm;144 bpm
 | 
			
		||||
Sep 6-12;62 bpm;132 bpm
 | 
			
		||||
Aug 30 - Sep 5;64 bpm;141 bpm
 | 
			
		||||
Aug 23-29;67 bpm;150 bpm
 | 
			
		||||
Aug 16-22;63 bpm;143 bpm
 | 
			
		||||
Aug 9-15;69 bpm;141 bpm
 | 
			
		||||
Aug 2-8;67 bpm;140 bpm
 | 
			
		||||
Jul 26 - Aug 1;67 bpm;147 bpm
 | 
			
		||||
Jul 19-25;69 bpm;136 bpm
 | 
			
		||||
Jul 12-18;66 bpm;151 bpm
 | 
			
		||||
Jul 5-11;67 bpm;146 bpm
 | 
			
		||||
Jun 28 - Jul 4;66 bpm;157 bpm
 | 
			
		||||
Jun 21-27;64 bpm;141 bpm
 | 
			
		||||
Jun 14-20;70 bpm;145 bpm
 | 
			
		||||
Jun 7-13;69 bpm;134 bpm
 | 
			
		||||
Mai 31 - Jun 6;70 bpm;139 bpm
 | 
			
		||||
Mai 24-30;72 bpm;142 bpm
 | 
			
		||||
Mai 17-23;72 bpm;135 bpm
 | 
			
		||||
Mai 10-16;71 bpm;147 bpm
 | 
			
		||||
Mai 3-9;73 bpm;142 bpm
 | 
			
		||||
Apr 26 - Mai 2;69 bpm;151 bpm
 | 
			
		||||
Apr 19-25;61 bpm;135 bpm
 | 
			
		||||
Apr 12-18;58 bpm;140 bpm
 | 
			
		||||
Apr 5-11;64 bpm;131 bpm
 | 
			
		||||
Mrz 29 - Apr 4;63 bpm;139 bpm
 | 
			
		||||
Mrz 22-28;65 bpm;135 bpm
 | 
			
		||||
Mrz 15-21;66 bpm;137 bpm
 | 
			
		||||
Mrz 8-14;62 bpm;136 bpm
 | 
			
		||||
Mrz 1-7;70 bpm;134 bpm
 | 
			
		||||
Feb 23-29;68 bpm;144 bpm
 | 
			
		||||
Feb 16-22;71 bpm;132 bpm
 | 
			
		||||
Feb 9-15;65 bpm;143 bpm
 | 
			
		||||
Feb 2-8;66 bpm;133 bpm
 | 
			
		||||
Jan 26 - Feb 1;59 bpm;142 bpm
 | 
			
		||||
Jan 19-25;62 bpm;136 bpm
 | 
			
		||||
Jan 12-18;60 bpm;134 bpm
 | 
			
		||||
Jan 5-11;56 bpm;139 bpm
 | 
			
		||||
Dez 29, 2023 - Jan 4, 2024;59 bpm;128 bpm
 | 
			
		||||
Dez 22-28, 2023;52 bpm;124 bpm
 | 
			
		||||
Dez 15-21, 2023;57 bpm;133 bpm
 | 
			
		||||
Dez 8-14, 2023;65 bpm;133 bpm
 | 
			
		||||
Dez 1-7, 2023;69 bpm;134 bpm
 | 
			
		||||
Nov 24-30, 2023;68 bpm;139 bpm
 | 
			
		||||
Nov 17-23, 2023;68 bpm;143 bpm
 | 
			
		||||
Nov 10-16, 2023;64 bpm;144 bpm
 | 
			
		||||
Nov 3-9, 2023;63 bpm;140 bpm
 | 
			
		||||
Okt 27 - Nov 2, 2023;57 bpm;133 bpm
 | 
			
		||||
Okt 20-26, 2023;55 bpm;138 bpm
 | 
			
		||||
Okt 13-19, 2023;50 bpm;121 bpm
 | 
			
		||||
		
		
			
  | 
							
								
								
									
										53
									
								
								data/raw/sleep_gramic.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								data/raw/sleep_gramic.csv
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,53 @@
 | 
			
		||||
Datum,Ø Score,Ø Qualität,Durchschnittliche Dauer,Ø Schlafenszeit,Ø Aufstehzeit
 | 
			
		||||
Okt 10-16,46,Schlecht,6h 11min,1:28,7:50
 | 
			
		||||
Okt 3-9,56,Schlecht,6h 34min,0:33,7:22
 | 
			
		||||
Sep 26 - Okt 2,52,Schlecht,6h 23min,0:00,6:37
 | 
			
		||||
Sep 19-25,59,Schlecht,6h 41min,0:27,7:16
 | 
			
		||||
Sep 12-18,59,Schlecht,6h 18min,0:48,7:12
 | 
			
		||||
Sep 5-11,55,Schlecht,6h 19min,0:56,7:22
 | 
			
		||||
Aug 29 - Sep 4,66,Ausreichend,7h 1min,0:21,7:31
 | 
			
		||||
Aug 22-28,57,Schlecht,6h 17min,0:35,6:59
 | 
			
		||||
Aug 15-21,72,Ausreichend,6h 36min,0:38,7:25
 | 
			
		||||
Aug 8-14,56,Schlecht,5h 45min,0:16,6:06
 | 
			
		||||
Aug 1-7,64,Ausreichend,7h 4min,0:39,8:10
 | 
			
		||||
Jul 25-31,61,Ausreichend,6h 52min,0:40,7:56
 | 
			
		||||
Jul 18-24,54,Schlecht,6h 26min,2:16,9:19
 | 
			
		||||
Jul 11-17,74,Ausreichend,7h 10min,0:06,7:26
 | 
			
		||||
Jul 4-10,58,Schlecht,7h 35min,0:45,9:05
 | 
			
		||||
Jun 27 - Jul 3,60,Ausreichend,6h 8min,1:22,7:42
 | 
			
		||||
Jun 20-26,69,Ausreichend,6h 30min,0:19,6:58
 | 
			
		||||
Jun 13-19,59,Schlecht,6h 1min,0:25,6:33
 | 
			
		||||
Jun 6-12,60,Ausreichend,6h 22min,0:02,6:30
 | 
			
		||||
Mai 30 - Jun 5,60,Ausreichend,6h 33min,0:34,7:15
 | 
			
		||||
Mai 23-29,51,Schlecht,6h 47min,0:56,7:54
 | 
			
		||||
Mai 16-22,50,Schlecht,5h 51min,1:13,7:08
 | 
			
		||||
Mai 9-15,55,Schlecht,6h 21min,0:58,7:23
 | 
			
		||||
Mai 2-8,40,Schlecht,5h 36min,0:39,6:19
 | 
			
		||||
Apr 25 - Mai 1,55,Schlecht,6h 2min,1:18,7:26
 | 
			
		||||
Apr 18-24,56,Schlecht,6h 28min,3:11,9:55
 | 
			
		||||
Apr 11-17,56,Schlecht,6h 17min,1:23,7:51
 | 
			
		||||
Apr 4-10,62,Ausreichend,6h 18min,0:39,7:10
 | 
			
		||||
Mrz 28 - Apr 3,68,Ausreichend,6h 50min,1:45,8:51
 | 
			
		||||
Mrz 21-27,60,Ausreichend,6h 9min,0:56,7:13
 | 
			
		||||
Mrz 14-20,54,Schlecht,6h 11min,1:03,7:24
 | 
			
		||||
Mrz 7-13,54,Schlecht,6h 22min,0:49,7:17
 | 
			
		||||
Feb 29 - Mrz 6,50,Schlecht,6h 4min,0:56,7:09
 | 
			
		||||
Feb 22-28,61,Ausreichend,7h 11min,0:08,7:25
 | 
			
		||||
Feb 15-21,44,Schlecht,6h 58min,0:19,7:51
 | 
			
		||||
Feb 8-14,50,Schlecht,8h 17min,0:09,8:47
 | 
			
		||||
Feb 1-7,43,Schlecht,6h 12min,1:06,7:25
 | 
			
		||||
Jan 25-31,57,Schlecht,7h 21min,1:17,8:40
 | 
			
		||||
Jan 18-24,51,Schlecht,6h 25min,0:56,7:26
 | 
			
		||||
Jan 11-17,50,Schlecht,6h 27min,1:36,8:12
 | 
			
		||||
Jan 4-10,59,Schlecht,6h 44min,1:26,8:24
 | 
			
		||||
Dez 28, 2023 - Jan 3, 2024,54,Schlecht,7h 2min
 | 
			
		||||
Dez 21-27, 2023,55,Schlecht,7h 16min,0:38
 | 
			
		||||
Dez 14-20, 2023,56,Schlecht,7h 17min,0:31
 | 
			
		||||
Dez 7-13, 2023,44,Schlecht,7h 53min,23:46
 | 
			
		||||
Nov 30 - Dez 6, 2023,48,Schlecht,6h 51min,0:33
 | 
			
		||||
Nov 23-29, 2023,48,Schlecht,7h 11min,0:21
 | 
			
		||||
Nov 16-22, 2023,53,Schlecht,7h 7min,0:23
 | 
			
		||||
Nov 9-15, 2023,47,Schlecht,7h 5min,0:19
 | 
			
		||||
Nov 2-8, 2023,50,Schlecht,6h 2min,0:00
 | 
			
		||||
Okt 26 - Nov 1, 2023,59,Schlecht,6h 39min,0:14
 | 
			
		||||
Okt 19-25, 2023,48,Schlecht,6h 17min,0:46
 | 
			
		||||
		
		
			
  | 
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user