mgokg commited on
Commit
bdbcb36
·
verified ·
1 Parent(s): 1bbc0d1

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +181 -0
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
+