O pandas é uma biblioteca popular para análise de dados em Python. Entre suas diversas funcionalidades, o método json_normalize()
destaca-se por sua capacidade de transformar dados aninhados em formato JSON em uma estrutura tabular, facilitando o trabalho com dados complexos. Neste artigo, vamos explorar o json_normalize()
em detalhes, entender sua sintaxe e exemplos de aplicação para que você possa aproveitar ao máximo essa poderosa função no processamento de dados JSON.
Dados em formato JSON são frequentemente utilizados para representar informações estruturadas, especialmente quando tratamos de dados de APIs web ou armazenamento de informações hierárquicas. No entanto, para realizar análises e manipulações mais avançadas, é mais conveniente trabalhar com dados em formato tabular. O método json_normalize()
do pandas é uma ferramenta útil para realizar essa transformação de dados JSON em uma estrutura tabular, permitindo que você manipule e explore os dados de forma mais eficiente.
Propósito do Método json_normalize()
no Pandas:
O método json_normalize()
é utilizado para transformar dados aninhados em formato JSON em um DataFrame tabular. Ele expande as informações aninhadas em diferentes níveis de profundidade do JSON e cria uma representação tabular que torna os dados mais acessíveis e fáceis de analisar. Isso é especialmente útil quando você tem dados JSON complexos, contendo listas e objetos aninhados.
Sintaxe do Método json_normalize()
no Pandas:
A sintaxe do método json_normalize()
é a seguinte:
pandas.json_normalize(data, record_path=None, meta=None, sep='_', max_level=None)
- data: O objeto JSON que será normalizado.
- record_path: Caminho para as listas aninhadas que deseja desnormalizar (usado quando há listas dentro de listas).
- meta: Dicionário de metadados adicionais para incluir no DataFrame resultante.
- sep: Caractere ou string para separar colunas aninhadas.
- max_level: Nível máximo de profundidade que será normalizado.
Exemplos de Utilização do Método json_normalize()
no Pandas:
Vamos utilizar exemplos para ilustrar o uso do método json_normalize()
.
Exemplo 1: JSON Simples
Considere o seguinte JSON com informações sobre livros:
data = {
"livros": [
{
"titulo": "Aprendendo Pandas",
"autor": "João Silva",
"ano": 2020
},
{
"titulo": "Python para Iniciantes",
"autor": "Maria Souza",
"ano": 2019
}
]
}
Podemos normalizar esse JSON usando json_normalize()
:
import pandas as pd
df = pd.json_normalize(data, 'livros')
print(df)
A saída será:
titulo autor ano
0 Aprendendo Pandas João Silva 2020
1 Python para Iniciantes Maria Souza 2019
Exemplo 2: JSON com Dados Aninhados
Agora, considere o seguinte JSON com dados aninhados:
data_aninhado = {
"alunos": [
{
"nome": "João",
"notas": {
"matematica": 80,
"historia": 70,
"geografia": 85
}
},
{
"nome": "Maria",
"notas": {
"matematica": 90,
"historia": 65,
"geografia": 75
}
}
]
}
Podemos normalizar esse JSON usando json_normalize()
e especificando o caminho para as notas:
df_aninhado = pd.json_normalize(data_aninhado, 'alunos', record_path='notas', meta='nome')
print(df_aninhado)
A saída será:
matematica historia geografia nome
0 80 70 85 João
1 90 65 75 Maria
O método json_normalize()
no pandas é uma ferramenta poderosa para transformar dados aninhados em formato JSON em uma estrutura tabular, tornando os dados mais acessíveis e fáceis de analisar. É especialmente útil quando você trabalha com dados complexos provenientes de APIs web ou outros serviços que retornam informações hierárquicas. Através de exemplos práticos, vimos como aplicar o json_normalize()
para melhorar a organização e manipulação de dados JSON em DataFrames do pandas.
O pandas é uma biblioteca extremamente versátil e o json_normalize()
é apenas uma das muitas funcionalidades poderosas disponíveis. Com o conhecimento adequado dessa função, você poderá extrair informações valiosas de dados JSON complexos e realizar análises avançadas de maneira eficiente.
Top comments (0)