edit corelation.py and add hr_data_cleaned.csv

master
TheOriginalGraLargeShrimpakaReaper 2024-10-16 20:58:01 +02:00
parent bee98b90da
commit 6804054cc6
2 changed files with 78 additions and 15 deletions

View File

@ -1,40 +1,50 @@
import pandas as pd
# Lade die CSV-Dateien
# Datei 1 mit Semikolon (;) separiert (HR-Daten)
# Schritt 1: Lade die HR-Daten (mit Semikolon separiert) und entferne 'bpm'
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):")
# Zeige die ersten Zeilen der HR-Daten vor der Bereinigung
print("HR-Daten (vor der Bereinigung):")
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
# Entferne 'bpm' und konvertiere die Werte in numerische Daten
hr_data['In Ruhe'] = hr_data['In Ruhe'].str.replace(' bpm', '').astype(float)
hr_data['Hoch'] = hr_data['Hoch'].str.replace(' bpm', '').astype(float)
# Zeige die bereinigten HR-Daten
print("\nHR-Daten (nach der Entfernung von 'bpm'):")
print(hr_data.head())
# Speichere die bereinigten HR-Daten in eine neue CSV-Datei (Zwischendatei)
hr_data.to_csv('hr_data_cleaned.csv', sep=';', index=False)
print("\nBereinigte HR-Daten wurden in '/home/gra/PycharmProjects/cds_introduction_data_science_assignment/data/raw/hr_data_cleaned.csv' gespeichert.")
# Schritt 2: Berechne den Durchschnitt der Herzfrequenzdaten (Resting HR und High HR)
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
# Zeige die HR-Daten nach der Berechnung des Durchschnitts
print("\nHR-Daten (nach der Berechnung des Durchschnitts):")
print(hr_data.head())
# Überprüfen der ersten Zeilen der Schlafdaten
# Schritt 3: Lade die Schlafdaten (mit Komma separiert)
sleep_data = pd.read_csv('/home/gra/PycharmProjects/cds_introduction_data_science_assignment/data/raw/sleep_gramic.csv', sep=',')
# Zeige die Schlafdaten
print("\nSchlafdaten:")
print(sleep_data.head())
# Sicherstellen, dass beide Datensätze nach Woche sortiert sind
# Schritt 4: Sicherstellen, dass beide Datensätze nach 'week' 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
# Schritt 5: Kombiniere die beiden Datensätze anhand der 'week' Spalte
combined_data = pd.merge(hr_data, sleep_data, on='Datum')
# Überprüfen der kombinierten Daten
# Zeige die kombinierten Daten
print("\nKombinierte Daten:")
print(combined_data.head())
# Berechne die Korrelation zwischen dem durchschnittlichen Herzfrequenzwert ('avg_hr') und der Schlafdauer ('sleep_duration')
# Schritt 6: 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}")

53
code/hr_data_cleaned.csv Normal file
View File

@ -0,0 +1,53 @@
Datum;In Ruhe;Hoch
Okt 4-10;67.0;130.0
Sep 27 - Okt 3;67.0;143.0
Sep 20-26;66.0;149.0
Sep 13-19;66.0;144.0
Sep 6-12;62.0;132.0
Aug 30 - Sep 5;64.0;141.0
Aug 23-29;67.0;150.0
Aug 16-22;63.0;143.0
Aug 9-15;69.0;141.0
Aug 2-8;67.0;140.0
Jul 26 - Aug 1;67.0;147.0
Jul 19-25;69.0;136.0
Jul 12-18;66.0;151.0
Jul 5-11;67.0;146.0
Jun 28 - Jul 4;66.0;157.0
Jun 21-27;64.0;141.0
Jun 14-20;70.0;145.0
Jun 7-13;69.0;134.0
Mai 31 - Jun 6;70.0;139.0
Mai 24-30;72.0;142.0
Mai 17-23;72.0;135.0
Mai 10-16;71.0;147.0
Mai 3-9;73.0;142.0
Apr 26 - Mai 2;69.0;151.0
Apr 19-25;61.0;135.0
Apr 12-18;58.0;140.0
Apr 5-11;64.0;131.0
Mrz 29 - Apr 4;63.0;139.0
Mrz 22-28;65.0;135.0
Mrz 15-21;66.0;137.0
Mrz 8-14;62.0;136.0
Mrz 1-7;70.0;134.0
Feb 23-29;68.0;144.0
Feb 16-22;71.0;132.0
Feb 9-15;65.0;143.0
Feb 2-8;66.0;133.0
Jan 26 - Feb 1;59.0;142.0
Jan 19-25;62.0;136.0
Jan 12-18;60.0;134.0
Jan 5-11;56.0;139.0
Dez 29, 2023 - Jan 4, 2024;59.0;128.0
Dez 22-28, 2023;52.0;124.0
Dez 15-21, 2023;57.0;133.0
Dez 8-14, 2023;65.0;133.0
Dez 1-7, 2023;69.0;134.0
Nov 24-30, 2023;68.0;139.0
Nov 17-23, 2023;68.0;143.0
Nov 10-16, 2023;64.0;144.0
Nov 3-9, 2023;63.0;140.0
Okt 27 - Nov 2, 2023;57.0;133.0
Okt 20-26, 2023;55.0;138.0
Okt 13-19, 2023;50.0;121.0
1 Datum In Ruhe Hoch
2 Okt 4-10 67.0 130.0
3 Sep 27 - Okt 3 67.0 143.0
4 Sep 20-26 66.0 149.0
5 Sep 13-19 66.0 144.0
6 Sep 6-12 62.0 132.0
7 Aug 30 - Sep 5 64.0 141.0
8 Aug 23-29 67.0 150.0
9 Aug 16-22 63.0 143.0
10 Aug 9-15 69.0 141.0
11 Aug 2-8 67.0 140.0
12 Jul 26 - Aug 1 67.0 147.0
13 Jul 19-25 69.0 136.0
14 Jul 12-18 66.0 151.0
15 Jul 5-11 67.0 146.0
16 Jun 28 - Jul 4 66.0 157.0
17 Jun 21-27 64.0 141.0
18 Jun 14-20 70.0 145.0
19 Jun 7-13 69.0 134.0
20 Mai 31 - Jun 6 70.0 139.0
21 Mai 24-30 72.0 142.0
22 Mai 17-23 72.0 135.0
23 Mai 10-16 71.0 147.0
24 Mai 3-9 73.0 142.0
25 Apr 26 - Mai 2 69.0 151.0
26 Apr 19-25 61.0 135.0
27 Apr 12-18 58.0 140.0
28 Apr 5-11 64.0 131.0
29 Mrz 29 - Apr 4 63.0 139.0
30 Mrz 22-28 65.0 135.0
31 Mrz 15-21 66.0 137.0
32 Mrz 8-14 62.0 136.0
33 Mrz 1-7 70.0 134.0
34 Feb 23-29 68.0 144.0
35 Feb 16-22 71.0 132.0
36 Feb 9-15 65.0 143.0
37 Feb 2-8 66.0 133.0
38 Jan 26 - Feb 1 59.0 142.0
39 Jan 19-25 62.0 136.0
40 Jan 12-18 60.0 134.0
41 Jan 5-11 56.0 139.0
42 Dez 29, 2023 - Jan 4, 2024 59.0 128.0
43 Dez 22-28, 2023 52.0 124.0
44 Dez 15-21, 2023 57.0 133.0
45 Dez 8-14, 2023 65.0 133.0
46 Dez 1-7, 2023 69.0 134.0
47 Nov 24-30, 2023 68.0 139.0
48 Nov 17-23, 2023 68.0 143.0
49 Nov 10-16, 2023 64.0 144.0
50 Nov 3-9, 2023 63.0 140.0
51 Okt 27 - Nov 2, 2023 57.0 133.0
52 Okt 20-26, 2023 55.0 138.0
53 Okt 13-19, 2023 50.0 121.0