Exemple #1
0
def get_data_charts_obesity():
    try:
        class_name = request.args.get("className")
        # class_name = "Dataset"
        r = API.get_class(class_name)
        arr = str(r.data, "utf-8")
        r_json = json.loads(arr)
        data = r_json["results"]
        df = pd.DataFrame(data)
        columns = list(df.columns)[4:]
        columns.remove("weight")
        for i in range(len(df)):
            for column in list(columns):
                try:
                    df[column][i] = int(round(df[column][i]))
                except:
                    df[column][i] = str(df[column][i])
        data_FAVC = DATA.get_data_chart(df, "FAVC")
        data_gender = DATA.get_data_chart(df, "gender")
        data_NCP = DATA.get_data_chart(df, "NCP")
        data_FHWO = DATA.get_data_chart(df, "FHWO")
        data_CAEC = DATA.get_data_chart(df, "CAEC")
        data_CH2O = DATA.get_data_chart(df, "CH2O")
        data_SMOKE = DATA.get_data_chart(df, "SMOKE")
        data_FCVC = DATA.get_data_chart(df, "FCVC")
        data_SCC = DATA.get_data_chart(df, "SCC")
        data_FAF = DATA.get_data_chart(df, "FAF")
        data_TUE = DATA.get_data_chart(df, "TUE")
        data_CALC = DATA.get_data_chart(df, "CALC")
        data_MTRANS = DATA.get_data_chart(df, "MTRANS")
        data_NObeyesdad = DATA.get_data_chart(df, "NObeyesdad")
        df1 = df.sort_values(by=["weight"],
                             ascending=True).reset_index(drop=True)
        weight_values = {
            "duoi_40": [],
            "duoi_50": [],
            "duoi_60": [],
            "duoi_70": [],
            "duoi_80": [],
            "duoi_90": [],
            "duoi_100": [],
            "tren_100": [],
        }
        for i in range(len(df1)):
            if float(df1["weight"][i]) < 40:
                weight_values["duoi_40"].append(float(df1["height"][i]))
            elif (float(df1["weight"][i]) >= 40) and (float(df1["weight"][i]) <
                                                      50):
                weight_values["duoi_50"].append(float(df1["height"][i]))
            elif (float(df1["weight"][i]) >= 50) and (float(df1["weight"][i]) <
                                                      60):
                weight_values["duoi_60"].append(float(df1["height"][i]))
            elif (float(df1["weight"][i]) >= 60) and (float(df1["weight"][i]) <
                                                      70):
                weight_values["duoi_70"].append(float(df1["height"][i]))
            elif (float(df1["weight"][i]) >= 70) and (float(df1["weight"][i]) <
                                                      80):
                weight_values["duoi_80"].append(float(df1["height"][i]))
            elif (float(df1["weight"][i]) >= 80) and (float(df1["weight"][i]) <
                                                      90):
                weight_values["duoi_90"].append(float(df1["height"][i]))
            elif (float(df1["weight"][i]) >= 90) and (float(df1["weight"][i]) <
                                                      100):
                weight_values["duoi_100"].append(float(df1["height"][i]))
            elif float(df1["weight"][i]) >= 100:
                weight_values["tren_100"].append(float(df1["height"][i]))
        data_height_weight = [
            {
                "name": "Ít hơn 40 kg",
                "value": DATA.trung_binh(weight_values["duoi_40"]),
            },
            {
                "name": "Từ 40 - 50 kg",
                "value": DATA.trung_binh(weight_values["duoi_50"]),
            },
            {
                "name": "Từ 50 - 60 kg",
                "value": DATA.trung_binh(weight_values["duoi_60"]),
            },
            {
                "name": "Từ 60 - 70 kg",
                "value": DATA.trung_binh(weight_values["duoi_70"]),
            },
            {
                "name": "Từ 70 - 80 kg",
                "value": DATA.trung_binh(weight_values["duoi_80"]),
            },
            {
                "name": "Từ 80 - 90 kg",
                "value": DATA.trung_binh(weight_values["duoi_90"]),
            },
            {
                "name": "Từ 90 - 100 kg",
                "value": DATA.trung_binh(weight_values["duoi_100"]),
            },
            {
                "name": "Trên 100 kg",
                "value": DATA.trung_binh(weight_values["tren_100"]),
            },
        ]
        data_age = [
            {
                "name": "Dưới 20 tuổi",
                "value": 0
            },
            {
                "name": "Từ 20 - dưới 30 tuổi",
                "value": 0
            },
            {
                "name": "Từ 30 - dưới 40 tuổi",
                "value": 0
            },
            {
                "name": "Từ 40 - dưới 50 tuổi",
                "value": 0
            },
            {
                "name": "Từ 50 - dưới 60 tuổi",
                "value": 0
            },
            {
                "name": "Từ 60 trở lên",
                "value": 0
            },
        ]
        data_result = {
            "chart_gender": data_gender,
            "chart_FAVC": data_FAVC,
            "chart_NCP": data_NCP,
            "chart_FHWO": data_FHWO,
            "chart_CAEC": data_CAEC,
            "chart_CH2O": data_CH2O,
            "chart_SMOKE": data_SMOKE,
            "chart_FCVC": data_FCVC,
            "chart_SCC": data_SCC,
            "chart_FAF": data_FAF,
            "chart_TUE": data_TUE,
            "chart_CALC": data_CALC,
            "chart_MTRANS": data_MTRANS,
            "chart_age": data_age,
            "chart_obesity": data_NObeyesdad,
        }
        # data_result = json.dumps(data_result)
        return data_result
    except:
        print("[Error] (getDataModels function app.py)")
        return "[Error] BAD REQUEST can't get datamodel"
Exemple #2
0
def get_data_charts():
    try:
        class_name = request.args.get("className")
        r = API.get_class(class_name)
        arr = str(r.data, "utf-8")
        r_json = json.loads(arr)
        data = r_json["results"]
        df = pd.DataFrame(data)
        data_mealOfTheDay = DATA.get_data_chart(df, "mealOfTheDay")
        data_breakfastOfTheWeek = DATA.get_data_chart(df, "breakfastOfTheWeek")
        data_dinnerOfTheWeek = DATA.get_data_chart(df, "dinnerOfTheWeek")
        data_fastfoodOfTheWeek = DATA.get_data_chart(df, "fastFoodOfTheWeek")
        data_vegetableInMeal = DATA.get_data_chart(df, "vegetableInMeal")
        data_proteinOfMeal = DATA.get_data_chart(df, "proteinOfMeal")
        data_waterOfTheDay = DATA.get_data_chart(df, "waterOfTheDay")
        data_timeDoExcerciseForWeek = DATA.get_data_chart(
            df, "timeDoExcerciseForWeek")
        data_sportTimeForWeek = DATA.get_data_chart(df, "sportTimeForWeek")
        data_alcohol = DATA.get_data_chart(df, "alcohol")
        data_nicotine = DATA.get_data_chart(df, "nicotine")
        data_requireOfJob = DATA.get_data_chart(df, "requireOfJob")
        data_park = DATA.get_data_chart(df, "park")
        data_depression = DATA.get_data_chart(df, "depression")
        data_result = {
            "chart_meal_of_theday": data_mealOfTheDay,
            "chart_breakfast_of_theweek": data_breakfastOfTheWeek,
            "chart_dinner_of_theweek": data_dinnerOfTheWeek,
            "chart_fastfood_of_theweek": data_fastfoodOfTheWeek,
            "chart_vegetable_in_meal": data_vegetableInMeal,
            "chart_protein_of_meal": data_proteinOfMeal,
            "chart_water_of_the_day": data_waterOfTheDay,
            "chart_time_doexcercise_for_week": data_timeDoExcerciseForWeek,
            "chart_sporttime_for_week": data_sportTimeForWeek,
            "chart_alcohol": data_alcohol,
            "chart_nicotine": data_nicotine,
            "chart_requireOfJob": data_requireOfJob,
            "chart_park": data_park,
            "chart_depression": data_depression,
        }
        # data_result = json.dumps(data_result)
        return data_result
    except:
        print("[Error] (getDataModels function app.py)")
        return "[Error] BAD REQUEST can't get datamodel"