1
resposta

Substituir a string '' por np.nan

Alguém sabe como substituir a string '' por np.nan. Na tela, a string '' não aparece. Por isso, eu gostaria de trocar a informação por np.nan, no entanto, não consegui:

import json
import pandas as pd

with open('dados.json') as arquivo_dados:
    json_dados = json.load(arquivo_dados)

dados_json_normalizados = pd.json_normalize(json_dados, record_path='pessoas')

display(dados_json_normalizados.info())

dados_json_normalizados['idade'] = dados_json_normalizados['idade'].astype(np.int64)

display(dados_json_normalizados.info())

display(dados_json_normalizados)

display(dados_json_normalizados.isna())

# Verificar o comprimento das strings na coluna 'endereco.rua'
display(dados_json_normalizados['endereco.rua'].apply(len))

# Exibir os caracteres invisíveis usando a função repr
display(dados_json_normalizados['endereco.rua'].apply(repr))
1 resposta

Oi Paulo! Tudo bem com você?

Para substituir a string vazia '' por np.nan em um DataFrame do Pandas, você pode usar o método replace. Exemplo:

import numpy as np

dados_json_normalizados['endereco.rua'] = dados_json_normalizados['endereco.rua'].replace("", np.nan)

No seu código, você pode adicionar essa linha logo após a normalização dos dados JSON. Resultado:

Imagem que mostra o resultado com a coluna endereco.rua com NaN onde tinha vazio

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado