Py.Cafe

marco.mannweiler/

gebaeude-kostenanalyse

Gebäude-Kostenanalyse

DocsPricing
  • app.py
  • bkp.csv
  • requirements.txt
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# Datensatz laden
df = pd.read_csv('bkp.csv', delimiter=';')

# Seitenleisten-Filter
st.sidebar.header('Filteroptionen')
bkp_filter = st.sidebar.multiselect('Wähle BKP(i)-Kategorien', df.filter(like='BKP').columns)
building_filter = st.sidebar.multiselect('Wähle Gebäude', df['Gebäude'].unique())

# Filter anwenden
filtered_df = df.copy()
if bkp_filter:
    filtered_df = filtered_df[['Gebäude'] + bkp_filter]
if building_filter:
    filtered_df = filtered_df[filtered_df['Gebäude'].isin(building_filter)]

# Hauptinhalt
st.title('Datenanalyse für Gebäude')
st.write('Diese Anwendung ermöglicht die Analyse von Kosteninformationen für verschiedene Gebäude.')

# Gefilterte Daten anzeigen
st.subheader('Gefilterte Daten')
st.write(filtered_df)

# Zusammenfassende Statistiken
st.subheader('Zusammenfassende Statistiken')
st.write(filtered_df.describe())

# Datenvisualisierung
st.subheader('Datenvisualisierung')

# Bar Chart
st.write('### Bar Chart der Kosten')
for col in bkp_filter:
    st.bar_chart(filtered_df.set_index('Gebäude')[col])

# Heatmap
st.write('### Heatmap der Kosten')
if bkp_filter:
    fig, ax = plt.subplots()
    sns.heatmap(filtered_df.set_index('Gebäude')[bkp_filter], annot=True, fmt=".2f", cmap="YlGnBu", ax=ax)
    st.pyplot(fig)

# Weitere Analysen können hier hinzugefügt werden