2024-10-16 20:48:05 +02:00
import pandas as pd
2024-10-16 20:58:01 +02:00
# Schritt 1: Lade die HR-Daten (mit Semikolon separiert) und entferne 'bpm'
2024-10-16 20:48:05 +02:00
hr_data = pd . read_csv ( ' /home/gra/PycharmProjects/cds_introduction_data_science_assignment/data/raw/hr_gramic.csv ' , sep = ' ; ' )
2024-10-16 20:58:01 +02:00
# Zeige die ersten Zeilen der HR-Daten vor der Bereinigung
print ( " HR-Daten (vor der Bereinigung): " )
print ( hr_data . head ( ) )
# 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 )
2024-10-16 20:48:05 +02:00
2024-10-16 20:58:01 +02:00
# Zeige die bereinigten HR-Daten
print ( " \n HR-Daten (nach der Entfernung von ' bpm ' ): " )
2024-10-16 20:48:05 +02:00
print ( hr_data . head ( ) )
2024-10-16 20:58:01 +02:00
# Speichere die bereinigten HR-Daten in eine neue CSV-Datei (Zwischendatei)
hr_data . to_csv ( ' hr_data_cleaned.csv ' , sep = ' ; ' , index = False )
print ( " \n Bereinigte 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)
2024-10-16 20:48:05 +02:00
hr_data [ ' avg_hr ' ] = hr_data [ [ ' In Ruhe ' , ' Hoch ' ] ] . mean ( axis = 1 )
2024-10-16 20:58:01 +02:00
# Zeige die HR-Daten nach der Berechnung des Durchschnitts
2024-10-16 20:48:05 +02:00
print ( " \n HR-Daten (nach der Berechnung des Durchschnitts): " )
print ( hr_data . head ( ) )
2024-10-16 20:58:01 +02:00
# 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
2024-10-16 20:48:05 +02:00
print ( " \n Schlafdaten: " )
print ( sleep_data . head ( ) )
2024-10-16 20:58:01 +02:00
# Schritt 4: Sicherstellen, dass beide Datensätze nach 'week' sortiert sind
2024-10-16 20:48:05 +02:00
hr_data = hr_data . sort_values ( by = ' Datum ' )
sleep_data = sleep_data . sort_values ( by = ' Datum ' )
2024-10-16 20:58:01 +02:00
# Schritt 5: Kombiniere die beiden Datensätze anhand der 'week' Spalte
2024-10-16 20:48:05 +02:00
combined_data = pd . merge ( hr_data , sleep_data , on = ' Datum ' )
2024-10-16 20:58:01 +02:00
# Zeige die kombinierten Daten
2024-10-16 20:48:05 +02:00
print ( " \n Kombinierte Daten: " )
print ( combined_data . head ( ) )
2024-10-16 20:58:01 +02:00
# Schritt 6: Berechne die Korrelation zwischen dem durchschnittlichen Herzfrequenzwert ('avg_hr') und der Schlafdauer ('sleep_duration')
2024-10-16 20:48:05 +02:00
correlation = combined_data [ ' avg_hr ' ] . corr ( combined_data [ ' Durchschnittliche Dauer ' ] )
print ( f " \n Die Korrelation zwischen der durchschnittlichen Herzfrequenz und der Schlafdauer ist: { correlation } " )