Skip to main content

Import data from Table of Input-Output from IBGE

Project description

Imput Output Tables to Brazil IOTBR

Generate I O - T A B L E IOTBR.

Instructions

! pip install iotbr==0.0.3

from iotbr import tru as tru
from iotbr import tru_pb as tru_pb
Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/
Collecting iotbr==0.0.3
  Downloading iotbr-0.0.3-py3-none-any.whl (7.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.2/7.2 MB 38.7 MB/s eta 0:00:00
[?25hRequirement already satisfied: xlrd in /usr/local/lib/python3.10/dist-packages (from iotbr==0.0.3) (2.0.1)
Installing collected packages: iotbr
Successfully installed iotbr-0.0.3
#ler uma variável qualquer dentro da tru
tru.read_var()
<style scoped> .dataframe tbody tr th:only-of-type { vertical-align: middle; }
.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}
</style>
PT
produtos
Arroz, trigo e outros cereais 12631
Milho em grão 43663
Algodão herbáceo, outras fibras da lav. temporária 18376
Cana-de-açúcar 57068
Soja em grão 153331
... ...
Serviços de artes, cultura, esporte e recreação 45636
Organizações patronais, sindicais e outros serviços associativos 93816
Manutenção de computadores, telefones e objetos domésticos 33107
Serviços pessoais 62283
Serviços domésticos 75158

128 rows × 1 columns

<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24" width="24px">

<style> .colab-df-container { display:flex; flex-wrap:wrap; gap: 12px; } .colab-df-convert { background-color: #E8F0FE; border: none; border-radius: 50%; cursor: pointer; display: none; fill: #1967D2; height: 32px; padding: 0 0 0 0; width: 32px; } .colab-df-convert:hover { background-color: #E2EBFA; box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15); fill: #174EA6; } [theme=dark] .colab-df-convert { background-color: #3B4455; fill: #D2E3FC; } [theme=dark] .colab-df-convert:hover { background-color: #434B5C; box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15); filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3)); fill: #FFFFFF; } </style>
  <script>
    const buttonEl =
      document.querySelector('#df-804688f7-1f60-4742-b054-7c72d883e30b button.colab-df-convert');
    buttonEl.style.display =
      google.colab.kernel.accessAllowed ? 'block' : 'none';

    async function convertToInteractive(key) {
      const element = document.querySelector('#df-804688f7-1f60-4742-b054-7c72d883e30b');
      const dataTable =
        await google.colab.kernel.invokeFunction('convertToInteractive',
                                                 [key], {});
      if (!dataTable) return;

      const docLinkHtml = 'Like what you see? Visit the ' +
        '<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'
        + ' to learn more about interactive tables.';
      element.innerHTML = '';
      dataTable['output_type'] = 'display_data';
      await google.colab.output.renderOutput(dataTable, element);
      const docLink = document.createElement('div');
      docLink.innerHTML = docLinkHtml;
      element.appendChild(docLink);
    }
  </script>
</div>
#ler uma variável específica
tru.read_var('2019','68','MG_tra')
<style scoped> .dataframe tbody tr th:only-of-type { vertical-align: middle; }
.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}
</style>
MG_tra
produtos
Arroz, trigo e outros cereais 1405
Milho em grão 2631
Algodão herbáceo, outras fibras da lav. temporária 370
Cana-de-açúcar 2996
Soja em grão 3433
... ...
Serviços de artes, cultura, esporte e recreação 0
Organizações patronais, sindicais e outros serviços associativos 0
Manutenção de computadores, telefones e objetos domésticos 0
Serviços pessoais 0
Serviços domésticos 0

128 rows × 1 columns

<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24" width="24px">

<style> .colab-df-container { display:flex; flex-wrap:wrap; gap: 12px; } .colab-df-convert { background-color: #E8F0FE; border: none; border-radius: 50%; cursor: pointer; display: none; fill: #1967D2; height: 32px; padding: 0 0 0 0; width: 32px; } .colab-df-convert:hover { background-color: #E2EBFA; box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15); fill: #174EA6; } [theme=dark] .colab-df-convert { background-color: #3B4455; fill: #D2E3FC; } [theme=dark] .colab-df-convert:hover { background-color: #434B5C; box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15); filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3)); fill: #FFFFFF; } </style>
  <script>
    const buttonEl =
      document.querySelector('#df-a86d51f5-4ce0-4242-b2c3-a6892af845fc button.colab-df-convert');
    buttonEl.style.display =
      google.colab.kernel.accessAllowed ? 'block' : 'none';

    async function convertToInteractive(key) {
      const element = document.querySelector('#df-a86d51f5-4ce0-4242-b2c3-a6892af845fc');
      const dataTable =
        await google.colab.kernel.invokeFunction('convertToInteractive',
                                                 [key], {});
      if (!dataTable) return;

      const docLinkHtml = 'Like what you see? Visit the ' +
        '<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'
        + ' to learn more about interactive tables.';
      element.innerHTML = '';
      dataTable['output_type'] = 'display_data';
      await google.colab.output.renderOutput(dataTable, element);
      const docLink = document.createElement('div');
      docLink.innerHTML = docLinkHtml;
      element.appendChild(docLink);
    }
  </script>
</div>
#ler ler a variável com preços do ano anterior
tru.read_var('2019','68','MG_tra','t-1')
<style scoped> .dataframe tbody tr th:only-of-type { vertical-align: middle; }
.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}
</style>
MG_tra
produtos
Arroz, trigo e outros cereais 1322
Milho em grão 2385
Algodão herbáceo, outras fibras da lav. temporária 365
Cana-de-açúcar 2875
Soja em grão 3089
... ...
Serviços de artes, cultura, esporte e recreação 0
Organizações patronais, sindicais e outros serviços associativos 0
Manutenção de computadores, telefones e objetos domésticos 0
Serviços pessoais 0
Serviços domésticos 0

128 rows × 1 columns

<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24" width="24px">

<style> .colab-df-container { display:flex; flex-wrap:wrap; gap: 12px; } .colab-df-convert { background-color: #E8F0FE; border: none; border-radius: 50%; cursor: pointer; display: none; fill: #1967D2; height: 32px; padding: 0 0 0 0; width: 32px; } .colab-df-convert:hover { background-color: #E2EBFA; box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15); fill: #174EA6; } [theme=dark] .colab-df-convert { background-color: #3B4455; fill: #D2E3FC; } [theme=dark] .colab-df-convert:hover { background-color: #434B5C; box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15); filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3)); fill: #FFFFFF; } </style>
  <script>
    const buttonEl =
      document.querySelector('#df-d740900e-1799-4c36-923a-e761bfa570df button.colab-df-convert');
    buttonEl.style.display =
      google.colab.kernel.accessAllowed ? 'block' : 'none';

    async function convertToInteractive(key) {
      const element = document.querySelector('#df-d740900e-1799-4c36-923a-e761bfa570df');
      const dataTable =
        await google.colab.kernel.invokeFunction('convertToInteractive',
                                                 [key], {});
      if (!dataTable) return;

      const docLinkHtml = 'Like what you see? Visit the ' +
        '<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'
        + ' to learn more about interactive tables.';
      element.innerHTML = '';
      dataTable['output_type'] = 'display_data';
      await google.colab.output.renderOutput(dataTable, element);
      const docLink = document.createElement('div');
      docLink.innerHTML = docLinkHtml;
      element.appendChild(docLink);
    }
  </script>
</div>
#ler ler a variável com outro nível e ano
tru.read_var('2000','12')
<style scoped> .dataframe tbody tr th:only-of-type { vertical-align: middle; }
.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}
</style>
PT
produtos
Agropecuária 87128.07773
Indústrias extrativas 35555.283895
Indústrias de transformação 648818.483278
Eletricidade e gás, água, esgoto, atividades de gestão de resíduos 64680.645095
Construção 146016.177837
Comércio 143766.942246
Transporte, armazenagem e correio 88682.618478
Informação e comunicação 86607.823103
Atividades financeiras, de seguros e serviços relacionados 105414.172763
Atividades imobiliárias 151048.781496
Outras atividades de serviços 320282.96256
Administração, defesa, saúde e educação públicas e seguridade social 209734.795687

<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24" width="24px">

<style> .colab-df-container { display:flex; flex-wrap:wrap; gap: 12px; } .colab-df-convert { background-color: #E8F0FE; border: none; border-radius: 50%; cursor: pointer; display: none; fill: #1967D2; height: 32px; padding: 0 0 0 0; width: 32px; } .colab-df-convert:hover { background-color: #E2EBFA; box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15); fill: #174EA6; } [theme=dark] .colab-df-convert { background-color: #3B4455; fill: #D2E3FC; } [theme=dark] .colab-df-convert:hover { background-color: #434B5C; box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15); filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3)); fill: #FFFFFF; } </style>
  <script>
    const buttonEl =
      document.querySelector('#df-b985967a-f875-488f-96a9-618e391cc619 button.colab-df-convert');
    buttonEl.style.display =
      google.colab.kernel.accessAllowed ? 'block' : 'none';

    async function convertToInteractive(key) {
      const element = document.querySelector('#df-b985967a-f875-488f-96a9-618e391cc619');
      const dataTable =
        await google.colab.kernel.invokeFunction('convertToInteractive',
                                                 [key], {});
      if (!dataTable) return;

      const docLinkHtml = 'Like what you see? Visit the ' +
        '<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'
        + ' to learn more about interactive tables.';
      element.innerHTML = '';
      dataTable['output_type'] = 'display_data';
      await google.colab.output.renderOutput(dataTable, element);
      const docLink = document.createElement('div');
      docLink.innerHTML = docLinkHtml;
      element.appendChild(docLink);
    }
  </script>
</div>
#encontrar matrizes de demanda final (mE) e demanda total (mU) a preços básicos
#usando o métrodo do Prof. Dr. Guilhoto
mU = tru_pb.D_total_pb('2019','68')[0]
mE = tru_pb.D_total_pb('2019','68')[1]
mE[1,:]
array([22855.033437625632, 0.0, 0.0, 3492.9691568353433, 0.0, -481.0],
      dtype=object)
#Estimar matriz a preços básicos para anos e níveis diferente
mU = tru_pb.D_total_pb('2010','20')[0]
mE = tru_pb.D_total_pb('2010','20')[1]
mE[1,:]
array([76824.77308806025, 0.0, 0.0, 0.0, 6221.934829327755, -875.0],
      dtype=object)
#Estimar matriz a preços básicos para anos, níveis e unidades diferentes
mU = tru_pb.D_total_pb('2010','51','t-1')[0]
mE = tru_pb.D_total_pb('2010','51','t-1')[1]
mU.shape
(107, 51)
#estimar a matrizes do sistema IO
import numpy as np
year = '2019'
level = '68'
unit = 't'
mU = tru_pb.D_total_pb(year,level,unit)[0]
mE = tru_pb.D_total_pb(year,level,unit)[1]


#Estimar matriz (D)
mV = tru.read_var(year,level,'P_matrix',unit).values.T
#Total produzido por produto
#vQ = np.sum(mV, axis=0)
vQ = tru.read_var(year,level,'PT',unit).values
mQChapeu = np.diagflat(1/vQ)
mD = np.dot(mV, mQChapeu)

#Estimar matriz (B)
#Total produzido por setor
vVBP = np.sum(mV, axis=1)
vX = np.copy(vVBP)
mXChapeu = np.diagflat(1/vX)
mB=np.dot(mU,mXChapeu)

mA = np.dot(mD,mB).astype(float)
mY = np.dot(mD,mE).astype(float)
mZ = np.dot(mD,mU).astype(float)
mI = np.eye(int(level))
 
mLeontief = np.linalg.inv(mI - mA)

mLeontief
array([[1.02795846e+00, 6.63434968e-02, 1.55683119e-02, ...,
        2.48657115e-03, 8.87445164e-03, 0.00000000e+00],
       [3.46679411e-03, 1.05066335e+00, 7.50231026e-03, ...,
        5.04707964e-04, 2.99970714e-03, 0.00000000e+00],
       [4.65358841e-03, 1.14566016e-02, 1.06662450e+00, ...,
        3.39112179e-04, 7.04559555e-04, 0.00000000e+00],
       ...,
       [2.57040133e-04, 4.90720175e-04, 2.96567252e-04, ...,
        1.02021266e+00, 6.72567669e-03, 0.00000000e+00],
       [1.72661929e-03, 1.85442303e-03, 1.52402071e-03, ...,
        3.19760462e-03, 1.00595709e+00, 0.00000000e+00],
       [0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
        0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])

#Variáveis que o pkg iotbr reconhece dentro da tru

  • níveis 20 e 68 so tem dados a partir de 2010 -níveis 12 e 51 passaram a agregar exportações e importações a partir de 2010

image.png

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iotbr-0.0.8.tar.gz (7.4 MB view hashes)

Uploaded Source

Built Distribution

iotbr-0.0.8-py3-none-any.whl (7.3 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page