Exemple #1
0
    def get(self, begin_time, end_time):
        goods = pd.read_json(
            json.dumps(PurchaseGoods.between(begin_time, end_time)))

        if goods.empty:
            return self.succ([])

        goods = goods.set_index("apply_time")
        goods = goods.price * goods.amount
        goods = goods.resample("m", how=sum)

        return self.succ(
            [{"time": time.strftime("%Y-%m"), "expend": "%f" % goods.loc[time]} for time in goods.index])
Exemple #2
0
    def get(self, begin_time, end_time):
        goods = pd.read_json(
            json.dumps(PurchaseGoods.between(begin_time, end_time)))

        if goods.empty:
            return self.succ([])

        goods = goods.set_index("apply_time")
        goods = goods.price * goods.amount
        goods = goods.resample("m", how=sum)

        return self.succ([{
            "time": time.strftime("%Y-%m"),
            "expend": "%f" % goods.loc[time]
        } for time in goods.index])
Exemple #3
0
    def get(self, begin_time, end_time):
        goods = pd.read_json(
            json.dumps(PurchaseGoods.between(begin_time, end_time)))

        if goods.empty:
            return self.succ([])

        total = (goods.price * goods.amount).sum()

        def func(x):
            x["name"] = x.category["name"]
            x["rate"] = float(x.price * x.amount) / total * 100
            return x

        goods = goods.apply(func, axis=1).loc[:, ["name", "rate"]]
        goods = goods.groupby("name").sum()

        return self.succ([{
            "category": name,
            "rate": "%f" % goods.loc[name]
        } for name in goods.index])
Exemple #4
0
    def get(self, begin_time, end_time):
        goods = pd.read_json(
            json.dumps(PurchaseGoods.between(begin_time, end_time)))

        if goods.empty:
            return self.succ([])

        total = (goods.price * goods.amount).sum()

        def func(x):
            x["name"] = x.category["name"]
            x["rate"] = float(x.price * x.amount) / total * 100
            return x

        goods = goods.apply(func, axis=1).loc[:, ["name", "rate"]]
        goods = goods.groupby("name").sum()

        return self.succ([
                             {"category": name, "rate": "%f" % goods.loc[name]}
                             for name in goods.index
                             ])
Exemple #5
0
class Purchase_categoryApi(BaseApi):
    route = ["/stats/purchase/category/<string:begin_time>/<string:end_time>"]

    def get(self, begin_time, end_time):
        goods = pd.read_json(
            json.dumps(PurchaseGoods.between(begin_time, end_time)))

        if goods.empty:
            return self.succ([])

        total = (goods.price * goods.amount).sum()

        def func(x):
            x["name"] = x.category["name"]
            x["rate"] = float(x.price * x.amount) / total * 100
            return x

        goods = goods.apply(func, axis=1).loc[:, ["name", "rate"]]
        goods = goods.groupby("name").sum()

        return self.succ([{
            "category": name,
            "rate": "%f" % goods.loc[name]
        } for name in goods.index])


if __name__ == "__main__":
    for pg in PurchaseGoods.between("1990-01-01", "2017-01-01"):
        print(pg["category"]["name"])
        print(pg)
Exemple #6
0
class Purchase_categoryApi(BaseApi):
    route = ["/stats/purchase/category/<string:begin_time>/<string:end_time>"]

    def get(self, begin_time, end_time):
        goods = pd.read_json(
            json.dumps(PurchaseGoods.between(begin_time, end_time)))

        if goods.empty:
            return self.succ([])

        total = (goods.price * goods.amount).sum()

        def func(x):
            x["name"] = x.category["name"]
            x["rate"] = float(x.price * x.amount) / total * 100
            return x

        goods = goods.apply(func, axis=1).loc[:, ["name", "rate"]]
        goods = goods.groupby("name").sum()

        return self.succ([
                             {"category": name, "rate": "%f" % goods.loc[name]}
                             for name in goods.index
                             ])


if __name__ == "__main__":
    for pg in PurchaseGoods.between("1990-01-01", "2017-01-01"):
        print(pg["category"]["name"])
        print(pg)