Spaces:
Running
Running
Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,181 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import os
|
3 |
+
import pandas as pd
|
4 |
+
#import langchain
|
5 |
+
#from pandasai import SmartDatalake
|
6 |
+
from pandasai import SmartDataframe
|
7 |
+
from pandasai.responses.streamlit_response import StreamlitResponse
|
8 |
+
#from langchain_community.llms import HuggingFacePipeline
|
9 |
+
#from langchain_community.llms import HuggingFaceEndpoint
|
10 |
+
#from pathlib import Path
|
11 |
+
#from transformers import AutoTokenizer
|
12 |
+
#import transformers
|
13 |
+
#from pandasai import HuggingFaceEndpoint
|
14 |
+
import numpy as np
|
15 |
+
from pandasai import Agent
|
16 |
+
import json
|
17 |
+
import matplotlib.pyplot as plt
|
18 |
+
|
19 |
+
os.environ['PANDASAI_API_KEY'] = "$2a$10$2s0v3C29vItNS2CO4QX10OV51/OONFCUNa4e9EU90w2Gozw88f4vK"
|
20 |
+
|
21 |
+
st.set_page_config(page_title="SAP Data Analysis", layout="wide")
|
22 |
+
st.image('Pandas-AI-Logo.png', caption=None)
|
23 |
+
#import pandas as pd
|
24 |
+
df = pd.DataFrame({
|
25 |
+
"row1": {
|
26 |
+
"Feb 24": "Februar",
|
27 |
+
"1.": "Do",
|
28 |
+
"2.": "Fr",
|
29 |
+
"3.": "Sa",
|
30 |
+
"4.": "So",
|
31 |
+
"5.": "Mo",
|
32 |
+
"6.": "Di",
|
33 |
+
"7.": "Mi",
|
34 |
+
"8.": "Do",
|
35 |
+
"9.": "Fr",
|
36 |
+
"10.": "Sa",
|
37 |
+
"11.": "So",
|
38 |
+
"12.": "Mo",
|
39 |
+
"13.": "Di",
|
40 |
+
"14.": "Mi",
|
41 |
+
"15.": "Do",
|
42 |
+
"16.": "Fr",
|
43 |
+
"17.": "Sa",
|
44 |
+
"18.": "So",
|
45 |
+
"19.": "Mo",
|
46 |
+
"20.": "Di",
|
47 |
+
"21.": "Mi",
|
48 |
+
"22.": "Do",
|
49 |
+
"23.": "Fr",
|
50 |
+
"24.": "Sa",
|
51 |
+
"25.": "So",
|
52 |
+
"26.": "Mo",
|
53 |
+
"27.": "Di",
|
54 |
+
"28.": "Mi",
|
55 |
+
"29.": "Do"
|
56 |
+
},
|
57 |
+
"row2": {
|
58 |
+
"Feb24": "StandkeSteffen",
|
59 |
+
"1.": "F",
|
60 |
+
"2.": "F",
|
61 |
+
"3.": "",
|
62 |
+
"4.": "",
|
63 |
+
"5.": "",
|
64 |
+
"6.": "",
|
65 |
+
"7.": "",
|
66 |
+
"8.": "",
|
67 |
+
"9.": "",
|
68 |
+
"10.": "",
|
69 |
+
"11.": "",
|
70 |
+
"12.": "",
|
71 |
+
"13.": "",
|
72 |
+
"14.": "UA",
|
73 |
+
"15.": "UA",
|
74 |
+
"16.": "",
|
75 |
+
"17.": "SD",
|
76 |
+
"18.": "SD",
|
77 |
+
"19.": "",
|
78 |
+
"20.": "",
|
79 |
+
"21.": "",
|
80 |
+
"22.": "",
|
81 |
+
"23.": "",
|
82 |
+
"24.": "",
|
83 |
+
"25.": "",
|
84 |
+
"26.": "",
|
85 |
+
"27.": "",
|
86 |
+
"28.": "",
|
87 |
+
"29.": ""
|
88 |
+
}
|
89 |
+
}
|
90 |
+
)
|
91 |
+
#st.bar_chart(df)
|
92 |
+
|
93 |
+
uploaded_file = st.file_uploader("Upload CSV data for analysis", type=['csv'])
|
94 |
+
#st.title("Datenanalyse mit PandasAI")
|
95 |
+
df1 = ""
|
96 |
+
sdf = ""
|
97 |
+
data = [{"Feb 24":"","1.":"Do","2.":"Fr","3.":"Sa","4.":"So","5.":"Mo","6.":"Di","7.":"Mi","8.":"Do","9.":"Fr","10.":"Sa","11.":"So","12.":"Mo","13.":"Di","14.":"Mi","15.":"Do","16.":"Fr","17.":"Sa","18.":"So","19.":"Mo","20.":"Di","21.":"Mi","22.":"Do","23.":"Fr","24.":"Sa","25.":"So","26.":"Mo","27.":"Di","28.":"Mi","29.":"Do"},{"Feb 24":"Standke Steffen","1.":"F","2.":"F","3.":"","4.":"","5.":"","6.":"","7.":"","8.":"","9.":"","10.":"","11.":"","12.":"","13.":"","14.":"UA","15.":"UA","16.":"","17.":"SD","18.":"SD","19.":"","20.":"","21.":"","22.":"","23.":"","24.":"","25.":"","26.":"","27.":"","28.":"","29.":""},{"Feb 24":"Will Susanne","1.":"","2.":"TZ","3.":"","4.":"","5.":"UA","6.":"","7.":"","8.":"","9.":"TZ","10.":"","11.":"","12.":"","13.":"","14.":"","15.":"","16.":"TZ","17.":"","18.":"","19.":"","20.":"","21.":"","22.":"","23.":"TZ","24.":"","25.":"","26.":"","27.":"","28.":"","29.":""},{"Feb 24":"Raab Julia","1.":"TZ","2.":"TZ","3.":"","4.":"","5.":"","6.":"","7.":"","8.":"TZ","9.":"TZ","10.":"BLOCKER","11.":"","12.":"Ü","13.":"Ü","14.":"Ü","15.":"TZ","16.":"TZ","17.":"BLOCKER","18.":"","19.":"","20.":"","21.":"","22.":"TZ","23.":"TZ","24.":"","25.":"SD","26.":"","27.":"","28.":"","29.":"TZ"},{"Feb 24":"Eckert Marion","1.":"","2.":"","3.":"","4.":"","5.":"","6.":"","7.":"","8.":"","9.":"Ü","10.":"","11.":"","12.":"S","13.":"S","14.":"S","15.":"S","16.":"S","17.":"","18.":"","19.":"","20.":"","21.":"","22.":"","23.":"","24.":"","25.":"","26.":"S","27.":"S","28.":"S","29.":"S"},{"Feb 24":"Meder, Milena","1.":"","2.":"","3.":"","4.":"","5.":"","6.":"","7.":"","8.":"","9.":"","10.":"","11.":"","12.":"F","13.":"F","14.":"","15.":"F","16.":"F","17.":"","18.":"","19.":"","20.":"","21.":"","22.":"","23.":"","24.":"","25.":"","26.":"Voloreise","27.":"","28.":"","29.":""},{"Feb 24":"Despang Angelika","1.":"","2.":"","3.":"SD","4.":"","5.":"","6.":"","7.":"","8.":"","9.":"","10.":"","11.":"","12.":"UA","13.":"UA","14.":"UA","15.":"","16.":"","17.":"","18.":"","19.":"F","20.":"F","21.":"F","22.":"F","23.":"F","24.":"","25.":"","26.":"","27.":"","28.":"","29.":""},{"Feb 24":"Heike Beudert","1.":"TZ","2.":"0,5 U","3.":"","4.":"","5.":"TZ","6.":"","7.":"","8.":"","9.":"","10.":"SD","11.":"SD","12.":"UA","13.":"UA","14.":"TZ","15.":"TZ","16.":"TZ","17.":"","18.":"","19.":"TZ","20.":"TZ","21.":"TZ","22.":"TZ","23.":"TZ","24.":"","25.":"","26.":"F","27.":"F","28.":"F","29.":"F"},{"Feb 24":"Borst Benedikt","1.":"","2.":"","3.":"","4.":"SD","5.":"F","6.":"F","7.":"F","8.":"F","9.":"F","10.":"BLOCKER","11.":"","12.":"UA","13.":"UA","14.":"F","15.":"","16.":"","17.":"","18.":"","19.":"","20.":"","21.":"","22.":"","23.":"","24.":"BLOCKER","25.":"","26.":"","27.":"","28.":"","29.":""}]
|
98 |
+
#df = pd.DataFrame(data)
|
99 |
+
|
100 |
+
|
101 |
+
# Erzeuge ein leeres Balkendiagramm
|
102 |
+
fig, ax = plt.subplots()
|
103 |
+
ax.bar(range(len(data['Angestellte'])), [0] * len(data['Angestellte']))
|
104 |
+
|
105 |
+
# Loop durch die Angestellten
|
106 |
+
for i, angestellter in enumerate(data['Angestellte']):
|
107 |
+
fruehschichten = 0
|
108 |
+
# Loop durch die Schichten
|
109 |
+
for schicht in angestellter['Schichten']:
|
110 |
+
if schicht == 'F':
|
111 |
+
fruehschichten += 1
|
112 |
+
# Set the x-value to the index of the angestellter
|
113 |
+
ax.bar(i, fruehschichten)
|
114 |
+
|
115 |
+
# Setze den Titel und die Achsenbeschriftungen
|
116 |
+
ax.set_title('Frühschichten pro Angestellter')
|
117 |
+
ax.set_xlabel('Angestellter')
|
118 |
+
ax.set_ylabel('Anzahl Frühschichten')
|
119 |
+
|
120 |
+
# Zeige das Diagramm
|
121 |
+
st.pyplot(fig)
|
122 |
+
|
123 |
+
if uploaded_file is not None:
|
124 |
+
|
125 |
+
df1 = pd.read_csv(uploaded_file)
|
126 |
+
#df1
|
127 |
+
#st.bar_chart(df)
|
128 |
+
st.bar_chart(
|
129 |
+
df, x="row1", y="row2", color=["#FF0000", "#0000FF"] # Optional
|
130 |
+
)
|
131 |
+
#sdf = SmartDataframe(df1)
|
132 |
+
#agent = Agent(df)
|
133 |
+
#result = agent.chat("erstelle balkendiagramm")
|
134 |
+
#st.write(result)
|
135 |
+
#sdf.chat("draw chart")
|
136 |
+
#st.write(sdf.chat("draw chart"))
|
137 |
+
|
138 |
+
prompt = st.text_area("Enter your prompt:")
|
139 |
+
|
140 |
+
#agent = Agent(df)
|
141 |
+
#result = agent.chat("erstelle balkendiagramm")
|
142 |
+
#st.write(result)
|
143 |
+
#df
|
144 |
+
#st.write(df)
|
145 |
+
#st.write(df1)
|
146 |
+
sdf = SmartDataframe(df)
|
147 |
+
#sdf.chat("draw chart")
|
148 |
+
#pandas_ai = PandasAI(llm, verbose=True, save_charts=True)
|
149 |
+
#st.write(sdf.chat("Plot a chart"))
|
150 |
+
#st.write(st.bar_chart(data))
|
151 |
+
if st.button("Generate"):
|
152 |
+
|
153 |
+
if prompt:
|
154 |
+
|
155 |
+
with st.spinner("Generating response..."):
|
156 |
+
|
157 |
+
bar = st.progress(0)
|
158 |
+
#sdf = SmartDataframe(df1)
|
159 |
+
#df
|
160 |
+
#sdf.chat(prompt)
|
161 |
+
|
162 |
+
st.write(sdf.chat(prompt))
|
163 |
+
agent = Agent(df1)
|
164 |
+
result = agent.chat("erstelle balkendiagramm")
|
165 |
+
st.write(result)
|
166 |
+
|
167 |
+
#st.write(pandas_ai.run(df1, prompt=prompt))
|
168 |
+
|
169 |
+
bar.progress(100)
|
170 |
+
|
171 |
+
else:
|
172 |
+
|
173 |
+
st.error("Please enter a prompt.")
|
174 |
+
|
175 |
+
|
176 |
+
|
177 |
+
|
178 |
+
|
179 |
+
|
180 |
+
|
181 |
+
|