cds_introduction_data_scien.../code/corelation.py

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}")