mirror of
https://github.com/DOI-DO/j40-cejst-2.git
synced 2025-02-23 01:54:18 -08:00
checking drop tracts works
This commit is contained in:
parent
4a25a28b0e
commit
9a2193d1a4
2 changed files with 185 additions and 0 deletions
|
@ -0,0 +1,84 @@
|
|||
import pandas as pd
|
||||
import pytest
|
||||
from data_pipeline.config import settings
|
||||
import data_pipeline.score.field_names as field_names
|
||||
from data_pipeline.etl.score.etl_score import ScoreETL
|
||||
from data_pipeline.utils import get_module_logger
|
||||
|
||||
logger = get_module_logger(__name__)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def toy_score_df(scope="module"):
|
||||
return pd.read_csv(
|
||||
settings.APP_ROOT
|
||||
/ "tests"
|
||||
/ "score"
|
||||
/ "test_utils"
|
||||
/ "data"
|
||||
/ "test_drop_tracts_from_percentile.csv",
|
||||
dtype={field_names.GEOID_TRACT_FIELD: str},
|
||||
)
|
||||
|
||||
|
||||
def _helper_test_dropping_tracts(toy_score_df, drop_tracts):
|
||||
logger.info(drop_tracts)
|
||||
test_frame = toy_score_df[
|
||||
~toy_score_df[field_names.GEOID_TRACT_FIELD].isin(drop_tracts)
|
||||
]
|
||||
return_df = ScoreETL._add_percentiles_to_df(
|
||||
df=toy_score_df,
|
||||
input_column_name="to_rank",
|
||||
output_column_name_root="to_rank_auto",
|
||||
drop_tracts=drop_tracts,
|
||||
)
|
||||
|
||||
test_frame = test_frame.assign(
|
||||
true_rank=test_frame["to_rank"].rank(pct=True)
|
||||
)
|
||||
|
||||
check_frame = test_frame.merge(
|
||||
return_df[
|
||||
[
|
||||
field_names.GEOID_TRACT_FIELD,
|
||||
"to_rank_auto" + field_names.PERCENTILE_FIELD_SUFFIX,
|
||||
]
|
||||
],
|
||||
on=[field_names.GEOID_TRACT_FIELD],
|
||||
)
|
||||
|
||||
return check_frame["true_rank"].equals(
|
||||
check_frame["to_rank_auto" + field_names.PERCENTILE_FIELD_SUFFIX]
|
||||
)
|
||||
|
||||
|
||||
def test_drop_0_tracts(toy_score_df):
|
||||
assert _helper_test_dropping_tracts(
|
||||
toy_score_df, drop_tracts=[]
|
||||
), "Percentile in score fails when we do not drop any tracts"
|
||||
|
||||
|
||||
def test_drop_1_tract(toy_score_df):
|
||||
assert _helper_test_dropping_tracts(
|
||||
toy_score_df, drop_tracts=["1"]
|
||||
), "Percentile in score fails when we do drop a single tract"
|
||||
|
||||
|
||||
def test_drop_2_tracts(toy_score_df):
|
||||
assert _helper_test_dropping_tracts(
|
||||
toy_score_df, drop_tracts=["1", "2"]
|
||||
), "Percentile in score fails when we drop two tracts"
|
||||
|
||||
|
||||
def test_drop_many_tracts(toy_score_df):
|
||||
assert _helper_test_dropping_tracts(
|
||||
toy_score_df,
|
||||
drop_tracts=toy_score_df[field_names.GEOID_TRACT_FIELD].to_list()[:5],
|
||||
), "Percentile in score fails when we drop many tracts"
|
||||
|
||||
|
||||
def test_drop_all_tracts(toy_score_df):
|
||||
assert _helper_test_dropping_tracts(
|
||||
toy_score_df,
|
||||
drop_tracts=toy_score_df[field_names.GEOID_TRACT_FIELD].to_list(),
|
||||
), "Percentile in score fails when we drop all tracts"
|
|
@ -0,0 +1,101 @@
|
|||
GEOID10_TRACT,to_rank
|
||||
1,1
|
||||
2,2
|
||||
3,3
|
||||
4,4
|
||||
5,5
|
||||
6,6
|
||||
7,7
|
||||
8,8
|
||||
9,9
|
||||
10,10
|
||||
11,11
|
||||
12,12
|
||||
13,13
|
||||
14,14
|
||||
15,15
|
||||
16,16
|
||||
17,17
|
||||
18,18
|
||||
19,19
|
||||
20,20
|
||||
21,21
|
||||
22,22
|
||||
23,23
|
||||
24,24
|
||||
25,25
|
||||
26,26
|
||||
27,27
|
||||
28,28
|
||||
29,29
|
||||
30,30
|
||||
31,31
|
||||
32,32
|
||||
33,33
|
||||
34,34
|
||||
35,35
|
||||
36,36
|
||||
37,37
|
||||
38,38
|
||||
39,39
|
||||
40,40
|
||||
41,41
|
||||
42,42
|
||||
43,43
|
||||
44,44
|
||||
45,45
|
||||
46,46
|
||||
47,47
|
||||
48,48
|
||||
49,49
|
||||
50,50
|
||||
51,51
|
||||
52,52
|
||||
53,53
|
||||
54,54
|
||||
55,55
|
||||
56,56
|
||||
57,57
|
||||
58,58
|
||||
59,59
|
||||
60,60
|
||||
61,61
|
||||
62,62
|
||||
63,63
|
||||
64,64
|
||||
65,65
|
||||
66,66
|
||||
67,67
|
||||
68,68
|
||||
69,69
|
||||
70,70
|
||||
71,71
|
||||
72,72
|
||||
73,73
|
||||
74,74
|
||||
75,75
|
||||
76,76
|
||||
77,77
|
||||
78,78
|
||||
79,79
|
||||
80,80
|
||||
81,81
|
||||
82,82
|
||||
83,83
|
||||
84,84
|
||||
85,85
|
||||
86,86
|
||||
87,87
|
||||
88,88
|
||||
89,89
|
||||
90,90
|
||||
91,91
|
||||
92,92
|
||||
93,93
|
||||
94,94
|
||||
95,95
|
||||
96,96
|
||||
97,97
|
||||
98,98
|
||||
99,99
|
||||
100,100
|
|
Loading…
Add table
Reference in a new issue