Vela commited on
Commit
d64edc6
·
1 Parent(s): 22b9c3e

Update project

Browse files
backend/api/__pycache__/main.cpython-312.pyc CHANGED
Binary files a/backend/api/__pycache__/main.cpython-312.pyc and b/backend/api/__pycache__/main.cpython-312.pyc differ
 
backend/api/main.py CHANGED
@@ -16,12 +16,12 @@ def display_data():
16
  @app.get("/ShowAllContinents")
17
  def display_continents():
18
  continents = home_page.display_continents(df)
19
- return continents.tolist()
20
 
21
  @app.get("/ShowAllCountries")
22
  def display_countries():
23
  countries = home_page.display_countries(df)
24
- return countries.tolist()
25
 
26
  @app.get("/ShowContinentStats/{attribute}/{stat_type}")
27
  def display_continent_stats(attribute:str, stat_type:str):
@@ -31,4 +31,14 @@ def display_continent_stats(attribute:str, stat_type:str):
31
  @app.get("/ShowCountryStats/{attribute}/{stat_type}")
32
  def display_country_stats(attribute : str, stat_type : str):
33
  country_stats = home_page.country_stat(df, attribute,stat_type)
34
- return country_stats
 
 
 
 
 
 
 
 
 
 
 
16
  @app.get("/ShowAllContinents")
17
  def display_continents():
18
  continents = home_page.display_continents(df)
19
+ return continents
20
 
21
  @app.get("/ShowAllCountries")
22
  def display_countries():
23
  countries = home_page.display_countries(df)
24
+ return countries
25
 
26
  @app.get("/ShowContinentStats/{attribute}/{stat_type}")
27
  def display_continent_stats(attribute:str, stat_type:str):
 
31
  @app.get("/ShowCountryStats/{attribute}/{stat_type}")
32
  def display_country_stats(attribute : str, stat_type : str):
33
  country_stats = home_page.country_stat(df, attribute,stat_type)
34
+ return country_stats
35
+
36
+ @app.get("/ShowContinentWiseData/{attribute}")
37
+ def display_cont_wise_stats(attribute : str):
38
+ conts_stats = home_page.get_continent_wise_stat(df,attribute)
39
+ return conts_stats
40
+
41
+ @app.get("/ShowCountryData/{country}/{attribute}")
42
+ def display_country_wise_stats(country : str, attribute : str):
43
+ conts_stats = home_page.get_country_wise_stat(df, country, attribute)
44
+ return conts_stats
backend/modules/__pycache__/home_page.cpython-312.pyc CHANGED
Binary files a/backend/modules/__pycache__/home_page.cpython-312.pyc and b/backend/modules/__pycache__/home_page.cpython-312.pyc differ
 
backend/modules/home_page.py CHANGED
@@ -7,9 +7,6 @@ from utils import logger
7
 
8
  file_path = "./world_population.csv"
9
 
10
- # file_path = "C:/Users/Vijay/Downloads/world_population.csv"
11
- # data_frame = pd.read_csv(file_path)
12
-
13
  def process_data():
14
  try:
15
  logger.log("I'm going to read the csv")
@@ -23,12 +20,14 @@ def process_data():
23
  def display_continents(dataframe):
24
  continents = dataframe['Continent'].unique()
25
  logger.log("Displaying the list of continents in the data")
26
- return continents
 
27
 
28
  def display_countries(dataframe):
29
  countries = dataframe['Country'].values
 
30
  logger.log("Displaying the list of countries in the data")
31
- return countries
32
 
33
  def continent_stat(dataframe, attribute="Population", stat_type="highest"):
34
  try:
@@ -49,8 +48,8 @@ def continent_stat(dataframe, attribute="Population", stat_type="highest"):
49
 
50
  else:
51
  raise ValueError("Invalid stat_type. Use 'highest' or 'lowest'.")
52
-
53
- return {continent: value}
54
 
55
  except Exception as e:
56
  logger.log(f"Error in continent_stat: {str(e)}")
@@ -65,66 +64,19 @@ def country_stat(dataframe, attribute : str = "Population", stat_type :str = "hi
65
 
66
  country = dataframe['Country'][index]
67
  requested_attribute = dataframe[attribute][index]
68
- result = {country:requested_attribute.item()}
69
  logger.log(f"Displaying the country with {stat_type} {attribute} in the data")
70
  return result
71
  except Exception as e:
72
  return f"Unable to fetch the data. Error {e}"
73
-
74
-
75
-
76
- # def list_country_by_continent(dataframe,continent):
77
- # try:
78
- # df_countries = dataframe[dataframe['Continent'] == continent]
79
- # countries= df_countries['Country'].to_list()
80
- # logger.log("Separated data by continent")
81
- # return countries
82
- # except Exception as e:
83
- # return f"{e}"
84
-
85
- # def get_stat_by_continent(df ,continent: str, data_type: str, stat: str , ):
86
-
87
- # if continent.lower() == "NorthAmerica".lower():
88
- # continent = "North America"
89
- # if continent.lower() == "SouthAmerica".lower():
90
- # continent = "South America"
91
-
92
- # valid_stats = ['max', 'min', 'mean' , 'sum' , 'count']
93
- # if stat not in valid_stats:
94
- # return f"Invalid stat. Please use one of the following: {valid_stats}."
95
-
96
- # continent_population_stats = df.groupby('Continent')[data_type].agg(
97
- # Maximum='max', Minimum='min', Average = 'mean',Total='sum' , Number_of_Countries = 'count')
98
-
99
- # continent_countries = df[df['Continent'] == continent]
100
-
101
- # if continent not in continent_population_stats.index:
102
- # return f"Continent '{continent}' not found in the data."
103
 
104
- # if stat == 'max':
105
- # population_result = continent_population_stats.loc[continent]['Maximum']
106
- # country_id = continent_countries.loc[continent_countries[data_type].idxmax()]
107
- # country_name = country_id['Country']
108
- # population_value = country_id[data_type]
109
- # return f"{continent}'s {stat} {data_type} is {int(population_result)}. Country: {country_name} , {data_type} :{population_value}"
110
- # if stat == 'min':
111
- # population_result = continent_population_stats.loc[continent]['Minimum']
112
- # country_id = continent_countries.loc[continent_countries[data_type].idxmin()]
113
- # country_name = country_id['Country']
114
- # population_value = country_id[data_type]
115
- # return f"{continent}'s {stat} {data_type} is {int(population_result)}. Country: {country_name} , {data_type} :{population_value}"
116
- # if stat == 'mean':
117
- # population_result = continent_population_stats.loc[continent]['Average']
118
- # return f"{continent}'s average {data_type} is {int(population_result)}"
119
- # if stat == 'sum':
120
- # population_result = continent_population_stats.loc[continent]['Total']
121
- # return f"{continent}'s total {data_type} is {int(population_result)}"
122
- # if stat == 'count' :
123
- # population_result = continent_population_stats.loc[continent]['Number_of_Countries']
124
- # return f"Total countries in {continent} is {int(population_result)}"
125
 
126
- # def get_continent_with_max_value(dataframe, key, value):
127
- # max_id = dataframe[value].idxmax()
128
- # value_num = dataframe[value][max_id]
129
- # value_country = dataframe[key][max_id]
130
- # return f"{value_country}'s max {value} is {value_num}"
 
7
 
8
  file_path = "./world_population.csv"
9
 
 
 
 
10
  def process_data():
11
  try:
12
  logger.log("I'm going to read the csv")
 
20
  def display_continents(dataframe):
21
  continents = dataframe['Continent'].unique()
22
  logger.log("Displaying the list of continents in the data")
23
+ continents_df = pd.DataFrame(continents, columns=["Continent"])
24
+ return continents_df
25
 
26
  def display_countries(dataframe):
27
  countries = dataframe['Country'].values
28
+ countries_df = pd.DataFrame(countries, columns=["Country"])
29
  logger.log("Displaying the list of countries in the data")
30
+ return countries_df
31
 
32
  def continent_stat(dataframe, attribute="Population", stat_type="highest"):
33
  try:
 
48
 
49
  else:
50
  raise ValueError("Invalid stat_type. Use 'highest' or 'lowest'.")
51
+ result = {attribute : {continent: value}}
52
+ return result
53
 
54
  except Exception as e:
55
  logger.log(f"Error in continent_stat: {str(e)}")
 
64
 
65
  country = dataframe['Country'][index]
66
  requested_attribute = dataframe[attribute][index]
67
+ result = {attribute:{country:requested_attribute.item()}}
68
  logger.log(f"Displaying the country with {stat_type} {attribute} in the data")
69
  return result
70
  except Exception as e:
71
  return f"Unable to fetch the data. Error {e}"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
 
73
+ def get_continent_wise_stat(data_frame, attribute):
74
+ if "Continent" in data_frame.columns and "Population" in data_frame.columns:
75
+ continent_data = data_frame.groupby("Continent")[attribute].sum().reset_index()
76
+ return continent_data.to_dict()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
 
78
+ def get_country_wise_stat(data_frame, country, attribute):
79
+ country_df = data_frame[data_frame["Country"]== country]
80
+ data = country_df[attribute].item()
81
+ result = {country:{attribute:data}}
82
+ return result