serJD commited on
Commit
714bb14
1 Parent(s): b1ead6c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -7
app.py CHANGED
@@ -60,22 +60,27 @@ def app_function(input_json):
60
  # Parse the input JSON string
61
  inputs = json.loads(input_json)
62
 
63
- # Convert stringified CSVs in JSON to DataFrames
64
  df_distances = pd.read_csv(StringIO(inputs["df_distances"]))
65
- df_attractiveness = pd.Series(json.loads(inputs["df_attractiveness"]))
 
 
66
  alpha = inputs["alpha"]
67
  beta = inputs["beta"]
68
- df_capacity = pd.Series(json.loads(inputs["df_capacity"]))
69
- df_population = pd.Series(json.loads(inputs["df_population"])) if "df_population" in inputs else None
 
 
 
70
  iterations = inputs.get("iterations", 5)
71
  crowding_threshold = inputs.get("crowding_threshold", 1.0)
72
 
73
  # Call the dynamic Huff model function with these parameters
 
74
  result = dynamic_huff_model(df_distances, df_attractiveness, alpha, beta, df_capacity, df_population, iterations, crowding_threshold)
75
 
76
- # Convert the result DataFrame to a CSV string for Gradio output
77
- result_json = result.to_json(orient='split')
78
- return json.loads(result_json)
79
 
80
  # Define the Gradio interface with a single JSON input
81
  iface = gr.Interface(
 
60
  # Parse the input JSON string
61
  inputs = json.loads(input_json)
62
 
63
+ # Assuming 'inputs["df_distances"]' is a JSON string of a CSV, use StringIO to convert it to a DataFrame
64
  df_distances = pd.read_csv(StringIO(inputs["df_distances"]))
65
+
66
+ # Assuming 'inputs["df_attractiveness"]' and others are already in list format in the JSON
67
+ df_attractiveness = pd.Series(inputs["df_attractiveness"])
68
  alpha = inputs["alpha"]
69
  beta = inputs["beta"]
70
+ df_capacity = pd.Series(inputs["df_capacity"])
71
+
72
+ # Check if 'df_population' is in inputs and convert to Series, else default to None
73
+ df_population = pd.Series(inputs["df_population"]) if "df_population" in inputs else None
74
+
75
  iterations = inputs.get("iterations", 5)
76
  crowding_threshold = inputs.get("crowding_threshold", 1.0)
77
 
78
  # Call the dynamic Huff model function with these parameters
79
+ # Ensure 'dynamic_huff_model' is defined and ready to accept these parameters
80
  result = dynamic_huff_model(df_distances, df_attractiveness, alpha, beta, df_capacity, df_population, iterations, crowding_threshold)
81
 
82
+ # Convert the result DataFrame to a JSON string for output
83
+ return result.to_json(orient='split')
 
84
 
85
  # Define the Gradio interface with a single JSON input
86
  iface = gr.Interface(