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