DHEIVER commited on
Commit
fedde71
1 Parent(s): 159b641

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -25
app.py CHANGED
@@ -1,38 +1,31 @@
1
  import pandas as pd
 
2
  import gradio as gr
3
- import tempfile
4
- import os
5
 
6
- def detect_anomalies(file_path, upper_limit, lower_limit):
7
- # Ler o arquivo txt com os dados
8
- with open(file_path, 'r') as file:
9
- lines = file.readlines()
10
- data = [line.strip().split(",") for line in lines[1:]]
11
-
12
- # Criar o DataFrame pandas
13
  df = pd.DataFrame(data, columns=["date", "value"])
14
  df["date"] = pd.to_datetime(df["date"])
15
- df["value"] = df["value"].astype(float)
16
 
17
- # Filtrar anomalias com base nos limites definidos pelo usuário
18
- anomalies = df[(df["value"] > upper_limit) | (df["value"] < lower_limit)]
 
 
 
 
 
 
 
19
 
20
- return anomalies
21
-
22
- # Criar a interface Gradio
23
  iface = gr.Interface(
24
- fn=detect_anomalies,
25
- inputs=[
26
- gr.inputs.File(label="Carregar arquivo de dados (formato txt)"),
27
- gr.inputs.Number(label="Limite Superior", default=150),
28
- gr.inputs.Number(label="Limite Inferior", default=80),
29
- ],
30
- outputs=gr.outputs.Dataframe(headers=["date", "value"], type="pandas"),
31
  live=True,
32
  capture_session=True,
33
- examples=[["data.txt", 150, 80]],
34
- title="Detecção de Anomalias em Dados",
35
- description="Carregue um arquivo txt contendo os dados em formato de tabela com duas colunas: 'date' e 'value'. O aplicativo permitirá que você ajuste os limites superiores e inferiores para a detecção de anomalias."
36
  )
37
 
38
  # Executar o aplicativo
 
1
  import pandas as pd
2
+ import matplotlib.pyplot as plt
3
  import gradio as gr
 
 
4
 
5
+ def plot_time_series(data):
6
+ # Carregar os dados para um DataFrame pandas
 
 
 
 
 
7
  df = pd.DataFrame(data, columns=["date", "value"])
8
  df["date"] = pd.to_datetime(df["date"])
 
9
 
10
+ # Criar o gráfico de linhas da série temporal
11
+ plt.figure(figsize=(10, 6))
12
+ plt.plot(df["date"], df["value"])
13
+ plt.xlabel("Data")
14
+ plt.ylabel("Valor")
15
+ plt.title("Série Temporal")
16
+ plt.xticks(rotation=45)
17
+ plt.tight_layout()
18
+ plt.show()
19
 
20
+ # Ler a série temporal da interface Gradio
 
 
21
  iface = gr.Interface(
22
+ fn=plot_time_series,
23
+ inputs=gr.inputs.Textbox(label="Insira a série temporal em formato de tabela com duas colunas: 'date' e 'value'"),
24
+ outputs=None,
 
 
 
 
25
  live=True,
26
  capture_session=True,
27
+ title="Visualização de Série Temporal",
28
+ description="Cole os dados da série temporal em formato de tabela com duas colunas: 'date' e 'value'. O aplicativo exibirá um gráfico de linhas da série temporal."
 
29
  )
30
 
31
  # Executar o aplicativo