Skip to content

Commit 87f5591

Browse files
committed
Add CO region and its states
1 parent 691da1d commit 87f5591

3 files changed

Lines changed: 38 additions & 18 deletions

File tree

bcb/sgs/regional_economy.py

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
NON_PERFORMING_LOANS_BY_REGION_PF = {
55
"N": "15888",
66
"NE": "15889",
7-
"CO": "",
7+
"CO": "15890",
88
"SE": "",
99
"S": "",
1010
}
@@ -15,12 +15,12 @@
1515
"AM": "15864",
1616
"BA": "15865",
1717
"CE": "15866",
18-
"DF": "",
18+
"DF": "15867",
1919
"ES": "",
20-
"GO": "",
20+
"GO": "15869",
2121
"MA": "15870",
22-
"MT": "",
23-
"MS": "",
22+
"MT": "15871",
23+
"MS": "15872",
2424
"MG": "",
2525
"PA": "15874",
2626
"PB": "15875",
@@ -40,7 +40,7 @@
4040
NON_PERFORMING_LOANS_BY_REGION_PJ = {
4141
"N": "15920",
4242
"NE": "15921",
43-
"CO": "",
43+
"CO": "15922",
4444
"SE": "",
4545
"S": "",
4646
}
@@ -51,12 +51,12 @@
5151
"AM": "15896",
5252
"BA": "15897",
5353
"CE": "15898",
54-
"DF": "",
54+
"DF": "15899",
5555
"ES": "",
56-
"GO": "",
56+
"GO": "15901",
5757
"MA": "15902",
58-
"MT": "",
59-
"MS": "",
58+
"MT": "15903",
59+
"MS": "15904",
6060
"MG": "",
6161
"PA": "15906",
6262
"PB": "15907",
@@ -76,7 +76,7 @@
7676
NON_PERFORMING_LOANS_BY_REGION_TOTAL = {
7777
"N": "15952",
7878
"NE": "15953",
79-
"CO": "",
79+
"CO": "15954",
8080
"SE": "",
8181
"S": "",
8282
}
@@ -87,12 +87,12 @@
8787
"AM": "15928",
8888
"BA": "15929",
8989
"CE": "15930",
90-
"DF": "",
90+
"DF": "15931",
9191
"ES": "",
92-
"GO": "",
92+
"GO": "15933",
9393
"MA": "15934",
94-
"MT": "",
95-
"MS": "",
94+
"MT": "15935",
95+
"MS": "15936",
9696
"MG": "",
9797
"PA": "15938",
9898
"PB": "15939",
@@ -112,9 +112,6 @@
112112

113113

114114
def get_non_performing_loans_codes(states_or_region, mode="total"):
115-
"""SGS da Inadimplência das operações de crédito.
116-
117-
Pode ser total, pessoas físicas (PF) ou jurídicas (PJ)."""
118115
is_state = False
119116
is_region = False
120117
states_or_region = [states_or_region] if isinstance(states_or_region, str) else states_or_region
@@ -147,5 +144,10 @@ def get_non_performing_loans_codes(states_or_region, mode="total"):
147144

148145

149146
def get_non_performing_loans(states_or_region, mode="total", start=None, end=None, last=0, freq=None):
147+
"""SGS da Inadimplência das operações de crédito.
148+
149+
Se for um ou mais estados, é esperado uma lista. Se for uma região,
150+
uma string.
151+
Pode ser total, pessoas físicas (PF) ou jurídicas (PJ)."""
150152
codes = get_non_performing_loans_codes(states_or_region, mode=mode)
151153
return get(codes, start=start, end=end, last=last, multi=True, freq=freq)

bcb/utils.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
from datetime import datetime, date
22

33

4+
BRAZILIAN_REGIONS = {
5+
"N": ["AC", "AP", "AM", "PA", "RO", "RR", "TO"],
6+
"NE": ["AL", "BA", "CE", "MA", "PB", "PE", "PI", "RN", "SE"],
7+
"CO": ["DF", "GO", "MT", "MS"],
8+
"SE": ["ES", "MG", "RJ", "SP"],
9+
"S": ["PR", "RS", "SC"]
10+
}
11+
12+
413
class Date:
514
def __init__(self, d=None, format="%Y-%m-%d", mindate=date(1900, 1, 1)):
615
d = d if d else mindate

tests/sgs/test_regional_economy.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import pandas as pd
22
import pytest
33
from bcb.sgs.regional_economy import get_non_performing_loans, get_non_performing_loans_codes
4+
from bcb.utils import BRAZILIAN_REGIONS
45

56

67
class TestGetNonPerformingLoansCodes:
@@ -25,3 +26,11 @@ def test_get_series_by_states_pf(self, states, expected_columns):
2526
assert isinstance(series, pd.DataFrame)
2627
assert (series.columns == expected_columns).all()
2728
assert len(series) == 10
29+
30+
def test_get_series_by_region_pj(self):
31+
south_states = BRAZILIAN_REGIONS["S"]
32+
series = get_non_performing_loans(south_states, last=5, mode="pj")
33+
34+
assert isinstance(series, pd.DataFrame)
35+
assert (series.columns == south_states).all()
36+
assert len(series) == 5

0 commit comments

Comments
 (0)