51 lines
2.2 KiB
Python
51 lines
2.2 KiB
Python
import pandas as pd
|
|
|
|
# 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=';')
|
|
|
|
# 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)
|
|
|
|
# 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)
|
|
|
|
# Zeige die HR-Daten nach der Berechnung des Durchschnitts
|
|
print("\nHR-Daten (nach der Berechnung des Durchschnitts):")
|
|
print(hr_data.head())
|
|
|
|
# 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())
|
|
|
|
# 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')
|
|
|
|
# Schritt 5: Kombiniere die beiden Datensätze anhand der 'week' Spalte
|
|
combined_data = pd.merge(hr_data, sleep_data, on='Datum')
|
|
|
|
# Zeige die kombinierten Daten
|
|
print("\nKombinierte Daten:")
|
|
print(combined_data.head())
|
|
|
|
# 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}")
|