IvanStudent commited on
Commit
e0711c8
·
1 Parent(s): 93a5668

Guardar mis cambios locales

Browse files
Files changed (1) hide show
  1. app.py +8 -11
app.py CHANGED
@@ -23,7 +23,7 @@ def parse_date(date_str):
23
  except ValueError:
24
  return None, None, "Date format should be 'Month-Year', e.g., 'January-2024'."
25
 
26
- def forecast_sales(uploaded_file, start_date_str, end_date_str, forecast_period=30):
27
  if uploaded_file is None:
28
  return "No file uploaded.", None, "Please upload a file."
29
 
@@ -49,21 +49,18 @@ def forecast_sales(uploaded_file, start_date_str, end_date_str, forecast_period=
49
  return None, error, "Failed to load ARIMA model."
50
 
51
  try:
52
- forecast_index = pd.date_range(start=end_date, periods=forecast_period + 1, freq='D')[1:]
53
- forecast = arima_model.get_forecast(steps=forecast_period)
54
  forecast_df = pd.DataFrame({'Date': forecast_index, 'Sales Forecast': forecast.predicted_mean})
55
- except Exception as e:
56
- return None, f"Failed during forecasting: {str(e)}", "Forecasting failed."
57
-
58
- try:
59
  fig, ax = plt.subplots(figsize=(10, 6))
60
- ax.plot(df_filtered['ds'], df_filtered['y'], label='Actual Sales', color='red')
61
- ax.plot(forecast_df['Date'], forecast_df['Sales Forecast'], label='Sales Forecast', color='blue', linestyle='--')
62
  ax.set_xlabel('Date')
63
  ax.set_ylabel('Sales')
64
  ax.set_title('Sales Forecasting with ARIMA')
65
  ax.legend()
66
- return None, fig, "File loaded and processed successfully."
67
  except Exception as e:
68
  return None, f"Failed to generate plot: {str(e)}", "Plotting failed."
69
 
@@ -80,7 +77,7 @@ def setup_interface():
80
  forecast_button.click(
81
  forecast_sales,
82
  inputs=[file_input, start_date_input, end_date_input],
83
- outputs=[output_message, output_plot]
84
  )
85
  return demo
86
 
 
23
  except ValueError:
24
  return None, None, "Date format should be 'Month-Year', e.g., 'January-2024'."
25
 
26
+ def forecast_sales(uploaded_file, start_date_str, end_date_str):
27
  if uploaded_file is None:
28
  return "No file uploaded.", None, "Please upload a file."
29
 
 
49
  return None, error, "Failed to load ARIMA model."
50
 
51
  try:
52
+ forecast = arima_model.get_forecast(steps=60)
53
+ forecast_index = pd.date_range(start=end_date, periods=61, freq='D')[1:]
54
  forecast_df = pd.DataFrame({'Date': forecast_index, 'Sales Forecast': forecast.predicted_mean})
55
+
 
 
 
56
  fig, ax = plt.subplots(figsize=(10, 6))
57
+ ax.plot(df_filtered['ds'], df_filtered['y'], label='Actual Sales', color='blue')
58
+ ax.plot(forecast_df['Date'], forecast_df['Sales Forecast'], label='Sales Forecast', color='red', linestyle='--')
59
  ax.set_xlabel('Date')
60
  ax.set_ylabel('Sales')
61
  ax.set_title('Sales Forecasting with ARIMA')
62
  ax.legend()
63
+ return fig, "File loaded and processed successfully."
64
  except Exception as e:
65
  return None, f"Failed to generate plot: {str(e)}", "Plotting failed."
66
 
 
77
  forecast_button.click(
78
  forecast_sales,
79
  inputs=[file_input, start_date_input, end_date_input],
80
+ outputs=[output_plot, output_message]
81
  )
82
  return demo
83