Skip to content

Commit 20a8d4a

Browse files
Add changelog entry; format frs.py
1 parent b1a567b commit 20a8d4a

2 files changed

Lines changed: 25 additions & 21 deletions

File tree

changelog_entry.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
- bump: minor
2+
changes:
3+
added:
4+
- highest_education variable derived from FRS EDUCQUAL field.

policyengine_uk_data/datasets/frs.py

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -211,31 +211,31 @@ def determine_education_level(fted_val, typeed2_val, age_val):
211211
# Codes from FRS ADT_324X classification; unmapped codes default to UPPER_SECONDARY
212212
EDUCQUAL_MAP = {
213213
1: "NOT_COMPLETED_PRIMARY",
214-
2: "LOWER_SECONDARY", # GCSE D-G / CSE 2-5
215-
3: "LOWER_SECONDARY", # GCSE A-C / O-level A-C
216-
4: "UPPER_SECONDARY", # AS-level
217-
5: "UPPER_SECONDARY", # A-level (1 subject)
218-
6: "UPPER_SECONDARY", # A-level (2 subjects)
219-
7: "UPPER_SECONDARY", # A-level (3+ subjects)
220-
8: "LOWER_SECONDARY", # Scottish Standard/Ordinary Grade
221-
9: "UPPER_SECONDARY", # Scottish Higher Grade
214+
2: "LOWER_SECONDARY", # GCSE D-G / CSE 2-5
215+
3: "LOWER_SECONDARY", # GCSE A-C / O-level A-C
216+
4: "UPPER_SECONDARY", # AS-level
217+
5: "UPPER_SECONDARY", # A-level (1 subject)
218+
6: "UPPER_SECONDARY", # A-level (2 subjects)
219+
7: "UPPER_SECONDARY", # A-level (3+ subjects)
220+
8: "LOWER_SECONDARY", # Scottish Standard/Ordinary Grade
221+
9: "UPPER_SECONDARY", # Scottish Higher Grade
222222
10: "UPPER_SECONDARY", # Scottish 6th Year Studies
223-
11: "POST_SECONDARY", # HNC/HND
224-
12: "POST_SECONDARY", # City & Guilds advanced / BTEC National
223+
11: "POST_SECONDARY", # HNC/HND
224+
12: "POST_SECONDARY", # City & Guilds advanced / BTEC National
225225
13: "UPPER_SECONDARY", # City & Guilds craft / BTEC General
226-
14: "POST_SECONDARY", # ONC/OND / BTEC National (lower)
226+
14: "POST_SECONDARY", # ONC/OND / BTEC National (lower)
227227
15: "UPPER_SECONDARY", # City & Guilds foundation
228-
16: "POST_SECONDARY", # RSA advanced
229-
17: "TERTIARY", # First/foundation degree
230-
18: "TERTIARY", # Second degree
231-
19: "TERTIARY", # Higher degree (Masters/PhD)
232-
20: "TERTIARY", # PGCE / teaching qualification
233-
21: "TERTIARY", # Nursing/paramedical qualification
228+
16: "POST_SECONDARY", # RSA advanced
229+
17: "TERTIARY", # First/foundation degree
230+
18: "TERTIARY", # Second degree
231+
19: "TERTIARY", # Higher degree (Masters/PhD)
232+
20: "TERTIARY", # PGCE / teaching qualification
233+
21: "TERTIARY", # Nursing/paramedical qualification
234234
66: "UPPER_SECONDARY", # NVQ/SVQ Level 1
235235
67: "UPPER_SECONDARY", # NVQ/SVQ Level 2
236236
68: "UPPER_SECONDARY", # NVQ/SVQ Level 3
237-
69: "POST_SECONDARY", # NVQ/SVQ Level 4
238-
70: "TERTIARY", # NVQ/SVQ Level 5
237+
69: "POST_SECONDARY", # NVQ/SVQ Level 4
238+
70: "TERTIARY", # NVQ/SVQ Level 5
239239
}
240240
# Codes 22-65 and 71-85 are further vocational/professional qualifications;
241241
# treat as POST_SECONDARY. Codes 86-87 are catch-alls; treat as UPPER_SECONDARY.
@@ -247,8 +247,8 @@ def determine_education_level(fted_val, typeed2_val, age_val):
247247
EDUCQUAL_MAP[87] = "UPPER_SECONDARY"
248248

249249
educqual = pd.to_numeric(person.educqual, errors="coerce")
250-
pe_person["highest_education"] = (
251-
educqual.map(EDUCQUAL_MAP).fillna("UPPER_SECONDARY")
250+
pe_person["highest_education"] = educqual.map(EDUCQUAL_MAP).fillna(
251+
"UPPER_SECONDARY"
252252
)
253253

254254
# Add employment status

0 commit comments

Comments
 (0)