From f593d57029049cb3f09dbcbfe5566acd05f28c59 Mon Sep 17 00:00:00 2001 From: John Mount Date: Mon, 20 Dec 2021 07:07:56 -0800 Subject: [PATCH] minor code clean up --- coverage.txt | 6 +++--- docs/vtreat/vtreat_db_adapter.html | 15 +++++++++++++-- docs/vtreat/vtreat_impl.html | 16 ++++++++-------- pkg/build/lib/vtreat/vtreat_db_adapter.py | 9 +++++++-- pkg/build/lib/vtreat/vtreat_impl.py | 6 +++--- pkg/dist/vtreat-1.1.1-py3-none-any.whl | Bin 28341 -> 28367 bytes pkg/dist/vtreat-1.1.1.tar.gz | Bin 35885 -> 35917 bytes pkg/vtreat/vtreat_db_adapter.py | 9 +++++++-- pkg/vtreat/vtreat_impl.py | 6 +++--- 9 files changed, 44 insertions(+), 23 deletions(-) diff --git a/coverage.txt b/coverage.txt index 615f665..aa6324d 100644 --- a/coverage.txt +++ b/coverage.txt @@ -36,10 +36,10 @@ pkg/vtreat/stats_utils.py 83 3 96% pkg/vtreat/transform.py 17 4 76% pkg/vtreat/util.py 152 21 86% pkg/vtreat/vtreat_api.py 286 35 88% -pkg/vtreat/vtreat_db_adapter.py 104 2 98% +pkg/vtreat/vtreat_db_adapter.py 103 2 98% pkg/vtreat/vtreat_impl.py 663 74 89% ----------------------------------------------------- -TOTAL 1364 150 89% +TOTAL 1363 150 89% -============================= 33 passed in 23.45s ============================== +============================= 33 passed in 22.22s ============================== diff --git a/docs/vtreat/vtreat_db_adapter.html b/docs/vtreat/vtreat_db_adapter.html index 1f34bf1..17209c0 100644 --- a/docs/vtreat/vtreat_db_adapter.html +++ b/docs/vtreat/vtreat_db_adapter.html @@ -63,7 +63,6 @@

"""
 Convert the description of a vtreat variable treatment into a data algebra pipeline.
 """
-import datetime
 
 from typing import Dict, List, Tuple
 import numpy
@@ -214,7 +213,7 @@ 

match_q = f"(treatment_class == 'MappedCodeTransform') & (orig_var == '{ov}') & (variable == '{vi}')" bi = ( jt.select_rows(match_q) - .extend({ov: "value", vi: "replacement",}) + .extend({ov: "value", vi: "replacement"}) .select_columns([ov, vi]) ) mi_table = vtreat_descr.loc[ @@ -348,6 +347,12 @@

ops = ops.extend({v: "0.0" for v in map_vars}) def update_code(i): + """ + Build one update statement. + + :param i: + :return: + """ step_i = mapping_steps[i] ov = step_i["ov"] vi = step_i["vi"] @@ -605,6 +610,12 @@

ops = ops.extend({v: "0.0" for v in map_vars}) def update_code(i): + """ + Build one update statement. + + :param i: + :return: + """ step_i = mapping_steps[i] ov = step_i["ov"] vi = step_i["vi"] diff --git a/docs/vtreat/vtreat_impl.html b/docs/vtreat/vtreat_impl.html index f293e96..b484a7f 100644 --- a/docs/vtreat/vtreat_impl.html +++ b/docs/vtreat/vtreat_impl.html @@ -852,7 +852,7 @@

counts = counts[counts >= min_fraction * n] # no more than 1/min_fraction symbols levels = [str(v) for v in counts.index] if (max_levels is not None) and (len(levels) > max_levels): - level_frame = pandas.DataFrame({"levels": levels, "counts": counts,}) + level_frame = pandas.DataFrame({"levels": levels, "counts": counts}) level_frame.sort_values( by=["counts", "levels"], ascending=[False, True], @@ -1954,8 +1954,8 @@

frames = [xfi.description_matrix() for xfi in xform_steps] res = pandas.concat(frames).reset_index(inplace=False, drop=True) # restrict down to non-constant variables - vars = set(self.score_frame_["variable"][self.score_frame_["has_range"]]) - usable = [v in vars for v in res["variable"]] + scored_vars = set(self.score_frame_["variable"][self.score_frame_["has_range"]]) + usable = [v in scored_vars for v in res["variable"]] res = res.loc[usable, :].reset_index(inplace=False, drop=True) return res @@ -3618,7 +3618,7 @@

Inherited Members
counts = counts[counts >= min_fraction * n] # no more than 1/min_fraction symbols levels = [str(v) for v in counts.index] if (max_levels is not None) and (len(levels) > max_levels): - level_frame = pandas.DataFrame({"levels": levels, "counts": counts,}) + level_frame = pandas.DataFrame({"levels": levels, "counts": counts}) level_frame.sort_values( by=["counts", "levels"], ascending=[False, True], @@ -4979,8 +4979,8 @@
Inherited Members
frames = [xfi.description_matrix() for xfi in xform_steps] res = pandas.concat(frames).reset_index(inplace=False, drop=True) # restrict down to non-constant variables - vars = set(self.score_frame_["variable"][self.score_frame_["has_range"]]) - usable = [v in vars for v in res["variable"]] + scored_vars = set(self.score_frame_["variable"][self.score_frame_["has_range"]]) + usable = [v in scored_vars for v in res["variable"]] res = res.loc[usable, :].reset_index(inplace=False, drop=True) return res
@@ -5567,8 +5567,8 @@

Inherited Members
frames = [xfi.description_matrix() for xfi in xform_steps] res = pandas.concat(frames).reset_index(inplace=False, drop=True) # restrict down to non-constant variables - vars = set(self.score_frame_["variable"][self.score_frame_["has_range"]]) - usable = [v in vars for v in res["variable"]] + scored_vars = set(self.score_frame_["variable"][self.score_frame_["has_range"]]) + usable = [v in scored_vars for v in res["variable"]] res = res.loc[usable, :].reset_index(inplace=False, drop=True) return res diff --git a/pkg/build/lib/vtreat/vtreat_db_adapter.py b/pkg/build/lib/vtreat/vtreat_db_adapter.py index 72a0bf3..94cdbbf 100644 --- a/pkg/build/lib/vtreat/vtreat_db_adapter.py +++ b/pkg/build/lib/vtreat/vtreat_db_adapter.py @@ -1,7 +1,6 @@ """ Convert the description of a vtreat variable treatment into a data algebra pipeline. """ -import datetime from typing import Dict, List, Tuple import numpy @@ -152,7 +151,7 @@ def _build_data_pipelines_stages( match_q = f"(treatment_class == 'MappedCodeTransform') & (orig_var == '{ov}') & (variable == '{vi}')" bi = ( jt.select_rows(match_q) - .extend({ov: "value", vi: "replacement",}) + .extend({ov: "value", vi: "replacement"}) .select_columns([ov, vi]) ) mi_table = vtreat_descr.loc[ @@ -286,6 +285,12 @@ def as_sql_update_sequence( ops = ops.extend({v: "0.0" for v in map_vars}) def update_code(i): + """ + Build one update statement. + + :param i: + :return: + """ step_i = mapping_steps[i] ov = step_i["ov"] vi = step_i["vi"] diff --git a/pkg/build/lib/vtreat/vtreat_impl.py b/pkg/build/lib/vtreat/vtreat_impl.py index a8ae930..bf259b4 100644 --- a/pkg/build/lib/vtreat/vtreat_impl.py +++ b/pkg/build/lib/vtreat/vtreat_impl.py @@ -601,7 +601,7 @@ def fit_indicator_code( counts = counts[counts >= min_fraction * n] # no more than 1/min_fraction symbols levels = [str(v) for v in counts.index] if (max_levels is not None) and (len(levels) > max_levels): - level_frame = pandas.DataFrame({"levels": levels, "counts": counts,}) + level_frame = pandas.DataFrame({"levels": levels, "counts": counts}) level_frame.sort_values( by=["counts", "levels"], ascending=[False, True], @@ -1703,8 +1703,8 @@ def description_matrix(self) -> pandas.DataFrame: frames = [xfi.description_matrix() for xfi in xform_steps] res = pandas.concat(frames).reset_index(inplace=False, drop=True) # restrict down to non-constant variables - vars = set(self.score_frame_["variable"][self.score_frame_["has_range"]]) - usable = [v in vars for v in res["variable"]] + scored_vars = set(self.score_frame_["variable"][self.score_frame_["has_range"]]) + usable = [v in scored_vars for v in res["variable"]] res = res.loc[usable, :].reset_index(inplace=False, drop=True) return res diff --git a/pkg/dist/vtreat-1.1.1-py3-none-any.whl b/pkg/dist/vtreat-1.1.1-py3-none-any.whl index cb0b55b9a24724bc48cde1f1d7d98e16bf091e60..228762d8e5b4f7572f374c34fd40fa69c25246d8 100644 GIT binary patch delta 11194 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 delta 11176 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 z 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 aX`be3p5|$u=4qba`t$z)al3y2NCN=S|2Av@ delta 24477 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 min_fraction * n] # no more than 1/min_fraction symbols levels = [str(v) for v in counts.index] if (max_levels is not None) and (len(levels) > max_levels): - level_frame = pandas.DataFrame({"levels": levels, "counts": counts,}) + level_frame = pandas.DataFrame({"levels": levels, "counts": counts}) level_frame.sort_values( by=["counts", "levels"], ascending=[False, True], @@ -1703,8 +1703,8 @@ def description_matrix(self) -> pandas.DataFrame: frames = [xfi.description_matrix() for xfi in xform_steps] res = pandas.concat(frames).reset_index(inplace=False, drop=True) # restrict down to non-constant variables - vars = set(self.score_frame_["variable"][self.score_frame_["has_range"]]) - usable = [v in vars for v in res["variable"]] + scored_vars = set(self.score_frame_["variable"][self.score_frame_["has_range"]]) + usable = [v in scored_vars for v in res["variable"]] res = res.loc[usable, :].reset_index(inplace=False, drop=True) return res