def cal(self):
     origin = load("info")
     df = origin.drop_duplicates(["brand", "model", "tag"])
     df = df.groupby(["tag"]).apply(self.cal_aver_top)
     df = df.drop_duplicates(
         ["tag"])[["tag", "top_tag", "aver_model_tag_ratings"]]
     dump(pd.merge(origin, df, "left", on=["tag"]), "info")
Example #2
0
    def trans(self):
        df = load("info")

        df['target_score'] = df['target_score'].str.replace('\'"', '"')
        df['target_score'] = df['target_score'].str.replace('"\'', '"')
        df['target_score'] = df['target_score'].str.replace('\'', '')
        df['target_score'] = df['target_score'].str.replace('\\', '')

        df['model_target_ratings'] = df['model_target_ratings'].str.replace('\'"', '"')
        df['model_target_ratings'] = df['model_target_ratings'].str.replace('"\'', '"')
        df['model_target_ratings'] = df['model_target_ratings'].str.replace('\'', '')
        df['model_target_ratings'] = df['model_target_ratings'].str.replace('\\', '')

        df['model_target_rank'] = df['model_target_rank'].str.replace('\'"', '"')
        df['model_target_rank'] = df['model_target_rank'].str.replace('"\'', '"')
        df['model_target_rank'] = df['model_target_rank'].str.replace('\'', '')
        df['model_target_rank'] = df['model_target_rank'].str.replace('\\', '')

        df['aver_model_target_ratings'] = df['aver_model_target_ratings'].str.replace('\'"', '"')
        df['aver_model_target_ratings'] = df['aver_model_target_ratings'].str.replace('"\'', '"')
        df['aver_model_target_ratings'] = df['aver_model_target_ratings'].str.replace('\'', '')
        df['aver_model_target_ratings'] = df['aver_model_target_ratings'].str.replace('\\', '')

        df['top_target'] = df['top_target'].str.replace('\'"', '"')
        df['top_target'] = df['top_target'].str.replace('"\'', '"')
        df['top_target'] = df['top_target'].str.replace('\'', '')
        df['top_target'] = df['top_target'].str.replace('\\', '')
Example #3
0
 def rank(self):
     origin = load("info")
     df = origin[["brand", "model",
                  "model_wilson"]].drop_duplicates(["brand", "model"])
     df = self.rank_func(df, "model_wilson", "model_rank")
     del df["model_wilson"]
     dump(pd.merge(origin, df, "left", on=["brand", "model"]), "info")
Example #4
0
 def evaluate(self):
     origin = load("info")
     df = origin.drop_duplicates(["brand", "model"])
     for k, v in df.iterrows():
         df.at[k, "model_wilson"] = self.evaluate_score(
             v["model_n"], v["model_p"], self.z)
     df = df[["brand", "model", "model_wilson"]]
     dump(pd.merge(origin, df, "left", on=["brand", "model"]), "info")
Example #5
0
 def rank(self):
     origin = load("info")
     df = origin[["brand", "model", "tag",
                  "tag_wilson"]].drop_duplicates(["brand", "model", "tag"])
     df = df.groupby(["tag"]).apply(self.rank_func, "tag_wilson",
                                    "model_tag_rank")
     del df["tag_wilson"]
     dump(pd.merge(origin, df, "left", on=["brand", "model", "tag"]),
          "info")
Example #6
0
 def cal(self):
     origin = load("info")
     df = origin.drop_duplicates(["brand", "model", "tag"])[
         ["brand", "model", "tag_u", "tag_v"]]
     df = df.groupby(["brand", "model"]).apply(
         self.cal_baseline)
     del df["tag_u"], df["tag_v"]
     df = df.drop_duplicates(["brand", "model"])
     dump(pd.merge(origin, df, "left", on=["brand", "model"]), "info")
Example #7
0
 def rank(self):
     origin = load("info")
     df = origin[["brand", "model", "tag", "target", "target_score"]]
     df = df.groupby(["target"]).apply(self.rank_func, "target_score",
                                       "model_target_rank")
     del df["target_score"]
     dump(
         pd.merge(origin,
                  df,
                  "left",
                  on=["brand", "model", "tag", "target"]), "info")
Example #8
0
 def adjust(self):
     df = load("info")
     self.make_record(datamonths=set(df["datamonth"].values))
     self.publish = min(self.record.values())
     for k, v in df.iterrows():
         df.at[k, "frequency"] = v["frequency"] * math.e**(
             (self.record[v["datamonth"]] - self.publish) /
             (self.current - self.publish))
         # df.at[k, "frequency"] = v["frequency"] * (
         #         (self.record[v["datamonth"]] - self.publish) / (self.current - self.publish))
     del df["datamonth"]
     dump(df, "info")
Example #9
0
 def select(self):
     df = load("info")
     dump(df, "wholeInfo")
     df = df[[
         "brand", "model", "tag", "target", "model_score", "tag_score",
         "target_score", "model_ratings", "model_tag_ratings",
         "model_target_ratings", "model_rank", "model_tag_rank",
         "model_target_rank", "aver_model_ratings",
         "aver_model_tag_ratings", "aver_model_target_ratings", "top_model",
         "top_tag", "top_target"
     ]]
     dump(df, "info")
Example #10
0
    def cal(self):
        df = load("info")
        for inx, row in df.iterrows():
            if 1 == row["grade"]:
                df.at[inx, "u"] = row["frequency"]
                df.at[inx, "v"] = 0
            elif -1 == row["grade"]:
                df.at[inx, "u"] = 0
                df.at[inx, "v"] = row["frequency"]
        del df["frequency"], df["grade"]

        df = df.groupby(["brand", "model", "tag", "target"]).apply(
            self.cal_baseline)
        del df["u"], df["v"]
        df = df.drop_duplicates(["brand", "model", "tag", "target"])
        dump(df, "info")
Example #11
0
 def evaluate(self):
     df = load("info")
     for k, v in df.iterrows():
         df.at[k, "target_wilson"] = self.evaluate_score(
             v["target_n"], v["target_p"], self.z)
     dump(df, "info")
Example #12
0
 def adjust(self):
     df = load("info")
     del df["datamonth"]
     dump(df, "info")
Example #13
0
 def trans(self):
     df = load("info")
     df = df.groupby(["brand", "model"]).apply(self.trans_func)
     del df["tag"]
     df = df.drop_duplicates(["brand", "model"])
     dump(df, "info")
Example #14
0
 def cal(self):
     df = load("info")
     df = df.groupby(["tag", "target"]).apply(self.cal_aver_top)
     dump(df, "info")
Example #15
0
 def cal(self):
     origin = load("info")
     df = origin.drop_duplicates(["brand", "model"])
     top, aver = self.cal_aver_top(df)
     origin["top_model"], origin["aver_model_ratings"] = top, aver
     dump(origin, "info")
Example #16
0
 def cal(self):
     df = load("info")[["tag", "tag_score", "tag_u", "tag_v", "tag_n"]]
     df = df.groupby(['tag']).apply(self.aspect_info)
     self.make_info(df)
Example #17
0
 def cal(self):
     df = load("info")[[
         "brand", "model", "model_score", "model_u", "model_v", "model_n"
     ]]
     df = self.aspect_info(df)
     self.make_info(df)
Example #18
0
 def cal(self):
     df = load("info")[[
         "tag", "target", "target_score", "target_u", "target_v", "target_n"
     ]]
     df = df.groupby(["tag", "target"]).apply(self.aspect_info)
     self.make_info(df)
Example #19
0
 def cal(self):
     df = load("info")
     df = df.groupby(["brand", "model", "tag"]).apply(
         self.cal_baseline)
     dump(df, "info")