Python Pandas lê/grava dados JSON

Os pandas podem ler e gravar dados JSON usando as funções read_json e to_json  .

Essas funções facilitam a conversão de dados JSON em quadros de dados Pandas e vice-versa.

Este artigo explorará as várias maneiras pelas quais você pode ler dados JSON em Pandas, bem como algumas dicas e truques úteis sobre como fazer isso.



Benefícios do Pandas JSON

Os benefícios de usar Pandas para trabalhar com dados JSON são numerosos.

Alguns dos principais benefícios incluem:

  • O Pandas fornece uma interface simples e intuitiva para trabalhar com dados JSON. Com apenas algumas linhas de código, você pode carregar dados JSON em um dataframe do Pandas, manipular os dados e salvá-los de volta no formato JSON.
  • Ele é projetado para lidar com grandes conjuntos de dados de forma eficiente. Ele usa estruturas de dados e algoritmos otimizados para fornecer manipulação de dados rápida e eficiente, o que é particularmente importante ao trabalhar com grandes conjuntos de dados JSON.
  • Ele fornece uma ampla gama de ferramentas de manipulação e análise de dados, tornando possível lidar com dados JSON complexos de várias maneiras. Por exemplo, você pode facilmente filtrar, agrupar e agregar dados em um dataframe do Pandas.
  • Ele se integra perfeitamente com outras bibliotecas Python populares, como NumPy e Matplotlib. Isso torna possível usar o Pandas como parte de um fluxo de trabalho de análise de dados maior e visualizar e comunicar suas descobertas usando o Matplotlib.
  • Os dados JSON do Pandas geralmente são aninhados, o que significa que uma chave em um objeto JSON pode ter outro objeto JSON como seu valor. Os Pandas podem lidar com dados JSON aninhados, simplificando os dados em um dataframe, facilitando o trabalho e a análise.

Lendo dados JSON com Pandas

O Pandas JSON é frequentemente utilizado como um meio de salvar ou recuperar grandes conjuntos de dados que estão no formato JSON.

No mundo da programação, como Pandas, JSON é comumente conhecido como texto simples com o formato de um objeto.

'student_data.json' é o nome do arquivo JSON com o qual trabalharemos em nossos exemplos.

Abra Student_data.json

Em um DataFrame, carregue o arquivo student_data.json:

Example: 

1
2
3
4
5
6
import pandas as pds
mrx_df = pds.read_json('student_data.json')
print(mrx_df)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Exiba todos os dados implementando a função read_json() e defina o título do índice:

Example: 

1
2
3
4
5
6
import pandas as pds
mrx_df = pds.read_json('student_data.json').set_index("Name")
print(mrx_df.to_string())
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Diretrizes : Para exibir o DataFrame completo, simplesmente chame to_string() .

Dicionário como JSON

JSON = Dicionário Python

Não há diferença entre dicionários Python e objetos JSON de acordo com o Pandas JSON, pois os objetos JSON seguem o mesmo formato.

Em um DataFrame, carregue um dicionário Python student_data da seguinte maneira:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import pandas as pds
student_data = {
"Name":{
0:"Harry",
1:"Dustin",
2:"Kate",
3:"Sara",
4:"Katharine",
5:"Alyssa"
},
"Gender":{
0:"Male",
1:"Male",
2:"Female",
3:"Female",
4:"Female",
5:"Female"
},
"Data Science":{
0:93,
1:96,
2:79,
3:86,
4:93,
5:77
},
"Artificial Intelligence":{
0:91,
1:84,
2:92,
3:90,
4:74,
5:94
},
"Machine Learning":{
0:89,
1:81,
2:86,
3:92,
4:91,
5:87
}
}
mrx_df = pds.DataFrame(student_data)
print(mrx_df)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Atribua “Nome” um título de índice utilizando a função set_index() :

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import pandas as pds
student_data = {
"Name":{
0:"Harry",
1:"Dustin",
2:"Kate",
3:"Sara",
4:"Katharine",
5:"Alyssa"
},
"Gender":{
0:"Male",
1:"Male",
2:"Female",
3:"Female",
4:"Female",
5:"Female"
},
"Data Science":{
0:93,
1:96,
2:79,
3:86,
4:93,
5:77
},
"Artificial Intelligence":{
0:91,
1:84,
2:92,
3:90,
4:74,
5:94
},
"Machine Learning":{
0:89,
1:81,
2:86,
3:92,
4:91,
5:87
}
}
mrx_df = pds.DataFrame(student_data).set_index("Name")
print(mrx_df)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Exemplo de Explicação

O código fornecido define um dicionário student_data com chaves como os nomes das colunas de um quadro de dados e valores como uma lista de pontos de dados para cada coluna. Inclui dados de seis alunos, seu sexo e suas pontuações em três cursos – Ciência de Dados, Inteligência Artificial e Aprendizado de Máquina.

Em seguida, a biblioteca pandas é importada e um quadro de dados é criado a partir do dicionário student_data usando o método DataFrame de pandas. O método set_index() é usado para definir a coluna “Nome” como o índice do quadro de dados. Por fim, o quadro de dados resultante é impresso usando a função print() .

O quadro de dados resultante tem seis linhas (uma para cada aluno) e quatro colunas – “Gênero”, “Ciência de Dados”, “Inteligência Artificial” e “Aprendizado de Máquina”. O índice do quadro de dados é a coluna “Nome”. Este quadro de dados pode ser usado para analisar o desempenho dos alunos nos três cursos e comparar suas notas com o gênero.


Escrevendo dados JSON com Pandas

Para gravar dados JSON com Pandas, podemos usar a função to_json .

Esta função usa um dataframe do Pandas como entrada e retorna uma string JSON.

Aqui está um exemplo de como usar “to_json” para salvar um dataframe do Pandas como dados JSON:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import pandas as pd
# Create a dataframe
data = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]})
# Save the dataframe as JSON data
data.to_json('data.json')
# Load the JSON data back into a dataframe
data2 = pd.read_json('data.json')
# Display the dataframe
print(data2.head())
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

No exemplo acima, criamos um dataframe do Pandas contendo alguns dados de amostra. Em seguida, usamos a função to_json para salvar o dataframe como dados JSON em um arquivo chamado data.json .

Em seguida, carregamos os dados JSON de volta em um novo dataframe usando a função read_json e exibimos as primeiras linhas do dataframe resultante usando a função “head”.

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone