import pandas as pd df = pd.read_csv("61b7cc82-fb4b-4c06-b26e-f76f61783c4e.csv") df['last_changed'] = pd.to_datetime(df['last_changed']) df['state'] = pd.to_numeric(df['state'], errors='coerce') # rozdělit na dva senzory inside = df[df['entity_id'].str.contains('timmerflotte')].set_index('last_changed')['state'].sort_index() outside = df[df['entity_id']=='sensor.teplota_venek'].set_index('last_changed')['state'].sort_index() print("timmerflotte: ", inside.min(), "-", inside.max(), "| rozsah času:", inside.index.min(), "->", inside.index.max()) print("teplota_venek: ", outside.min(), "-", outside.max(), "| rozsah času:", outside.index.min(), "->", outside.index.max()) print() # Sjednotit na společnou časovou osu pomocí forward-fill (step function - HA drží poslední hodnotu) combined = pd.concat([inside.rename('inside'), outside.rename('outside')], axis=1).sort_index() combined = combined.ffill().dropna() diff = combined['inside'] - combined['outside'] print("Počet zarovnaných bodů:", len(combined)) print() print(f"Průměrný rozdíl (vnitřní - venek): {diff.mean():+.3f} °C") print(f"Průměrný absolutní rozdíl |vnitřní-venek|: {diff.abs().mean():.3f} °C") print(f"Medián rozdílu: {diff.median():+.3f} °C") print(f"Min / Max rozdílu: {diff.min():+.3f} / {diff.max():+.3f} °C") print(f"Směrodatná odchylka rozdílu: {diff.std():.3f} °C")