Erste Fassung eingestellt

This commit is contained in:
2025-04-04 10:32:52 +02:00
commit c046e13529
7 changed files with 144 additions and 0 deletions
+4
View File
@@ -0,0 +1,4 @@
@echo off
CALL manage_interpreter.bat activate_interpreter
python %PROJECT_LIB%\dia.py
CALL manage_interpreter.bat deactivate_interpreter
+4
View File
@@ -0,0 +1,4 @@
@echo off
call setenv.bat
start
+15
View File
@@ -0,0 +1,15 @@
call setenv.bat
if not exist %PROJECT%\.venv (
ECHO Initialisiere Python virtual environment...
python -m venv %PROJECT%\.venv --upgrade-deps
ECHO Erfolgreich.
call %PROJECT%\.venv\Scripts\activate.bat
ECHO Installiere erforderliche Python Packages...
pip install -r %PROJECT_LIB%/requirements.txt -q
ECHO Erfolgreich
deactivate
) ELSE (
ECHO Erforderliche Python Packages bereits installiert!
)
+28
View File
@@ -0,0 +1,28 @@
@echo off
CALL setenv.bat
IF DEFINED NETWORK_INTERPRETER_PATH (
goto %~1_network
) ELSE (
goto %~1_local
)
:activate_interpreter_local
IF NOT EXIST %PROJECT%\.venv CALL %PROJECT_BIN%\install_py.bat
CALL %PROJECT%\.venv\Scripts\activate.bat
goto :eof
:deactivate_interpreter_local
deactivate
goto :eof
:activate_interpreter_network
SET OLD_PATH=%PATH%
SET PATH=%NETWORK_INTERPRETER_PATH%;%PATH%
goto :eof
:deactivate_interpreter_network
SET PATH=%OLD_PATH%
SET OLD_PATH=
SET NETWORK_INTERPRETER_PATH=
goto :eof
+15
View File
@@ -0,0 +1,15 @@
@echo off
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt
pushd %~dp0\..
set PROJECT=%cd%
set PROJECT_BIN=%PROJECT%\bin
set PROJECT_CFG=%PROJECT%\cfg
set PROJECT_LIB=%PROJECT%\lib
set PROJECT_DATA=%PROJECT%\data
set PROJECT_WORK=%PROJECT%\work
set PROJECT_LOG=%PROJECT%\log
if not exist %PROJECT%\work mkdir %PROJECT%\work
if not exist %PROJECT%\log mkdir %PROJECT%\log
if not exist %PROJECT%\data mkdir %PROJECT%\data
+69
View File
@@ -0,0 +1,69 @@
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# Daten als DataFrame erstellen
data = {
"Datum": [
"31.12.2024", "18.07.2024", "31.12.2023", "31.10.2023", "30.09.2023", "12.06.2023",
"01.02.2023", "31.12.2022", "30.06.2022", "01.02.2022", "31.12.2021", "03.11.2021",
"18.05.2021", "01.02.2021", "31.12.2020", "31.12.2019", "01.09.2019"
],
"Verbrauch (kWh)": [
707, 608, 523, 472, 456, 432, 390, 364, 292, 267, 246, 218, 203, 189, 167, 95, 75
],
"Ablesungstyp": [
"Netzbetreiber", "Kunden", "Netzbetreiber", "Netzbetreiber", "Netzbetreiber", "Kunden",
"Netzbetreiber", "Netzbetreiber", "Netzbetreiber", "Netzbetreiber", "Kunden", "Kunden",
"Kunden", "Netzbetreiber", "Netzbetreiber", "Netzbetreiber", "Maschinelle Schätzung"
]
}
df = pd.DataFrame(data)
df["Datum"] = pd.to_datetime(df["Datum"], format="%d.%m.%Y")
df = df.sort_values("Datum")
# Plot erstellen
plt.figure(figsize=(12, 6))
plt.plot(df["Datum"], df["Verbrauch (kWh)"], marker='o', label="Verbrauch (kWh)")
# Beschriftungen und Titel
plt.title("Verbrauchsentwicklung (kWh) über Zeit", fontsize=14)
plt.xlabel("Datum", fontsize=12)
plt.ylabel("Verbrauch (kWh)", fontsize=12)
plt.grid(True, linestyle='--', alpha=0.6)
plt.legend()
plt.xticks(rotation=45)
plt.tight_layout()
# Plot anzeigen
plt.show()
# Differenzen zwischen den Verbrauchswerten berechnen
df["Differenz (kWh)"] = df["Verbrauch (kWh)"].diff()
df["Tage zwischen Ablesungen"] = df["Datum"].diff().dt.days
# Durchschnittlicher täglicher Verbrauch berechnen
df["Durchschnittlicher Tagesverbrauch (kWh)"] = df["Differenz (kWh)"] / df["Tage zwischen Ablesungen"]
# Durchschnittlicher monatlicher Verbrauch (30 Tage) berechnen
df["Durchschnittlicher Monatsverbrauch (kWh)"] = df["Durchschnittlicher Tagesverbrauch (kWh)"] * 30
# Plot erstellen
plt.figure(figsize=(12, 6))
plt.plot(df["Datum"], df["Verbrauch (kWh)"], marker='o', label="Verbrauch (kWh)")
plt.plot(df["Datum"], df["Durchschnittlicher Monatsverbrauch (kWh)"], marker='x', linestyle='--', label="Durchschnittlicher Monatsverbrauch (kWh)")
# Beschriftungen und Titel
plt.title("Verbrauchsentwicklung (kWh) mit durchschnittlichem Monatsverbrauch", fontsize=14)
plt.xlabel("Datum", fontsize=12)
plt.ylabel("Verbrauch (kWh)", fontsize=12)
plt.grid(True, linestyle='--', alpha=0.6)
plt.legend()
plt.xticks(rotation=45)
plt.tight_layout()
# Plot anzeigen
plt.show()
+9
View File
@@ -0,0 +1,9 @@
numpy==1.26.1
pandas==2.1.1
python-dateutil==2.8.2
pytz==2023.3.post1
six==1.16.0
tzdata==2023.3
et-xmlfile==1.1.0
matplotlib==3.10.0
openpyxl==3.1.2