Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Como resolver problema de erro('NaN') nos dados DataFrame

Alterei o index e as columns de dataframe aparece o erros de (NAN) nos dados na DataFrame

index = ['lina' + str(i) for i in range(32960) ] df1 = pd.DataFrame(data=dados, index=index) df1 Como Resolver o erro de (NaN) nos todos os Dados?

6 respostas

Olá Celio,

Não entendi muito bem o que aconteceu, pode explicar mais por favor?

Aparece uma mensagem de erro mesmo ou o DataFrame que está com o conteúdo todo NaN?

Copia e cola aqui a mensagem de erro completa, e se possível compartilha também o restante do seu código (principalmente a criação da variável dados).

solução!

A DataFrame que está com o conteúdo todo( NaN)

isso acontece quando eu altero os index ou columns da dataframe usando codigo :

index = ['lina' + str(i) for i in range(22) ]

columns = ['coluna' + str(i) for i in range(9) ]

df1 = pd.DataFrame(data= dados, index = index , columns= columns) dados

todos conteúdo da Dataframe fica com (NaN) mas os index e as columns altera mas os dado dataframe fica com (NaN)

A causa disso vai estar nos valores da variável dados, provavelmente já devem existir valore NaN em dados, ou algo parecido.

Eu criei um valor para dados manualmente para testar o seu código e funcionou sem problemas.

Verifica então como está o valor de dados.

Teste:

import pandas as pd

index = ['linha' + str(i) for i in range(22)]
columns = ['coluna' + str(i) for i in range(9)]

dados = [[1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9],
     [1, 2, 3, 4, 5, 6, 7, 8, 9]]

df1 = pd.DataFrame(data=dados, index=index, columns=columns)
df1

Resultado:

criando uma dataFrame nova da certo, sem erro de NaN mas quando eu uso uma dataframe de ficheiro csv da aquele erro NaN

Ah, acredito que entendi o problema.

Acho que dados já é um dataframe, e então como você já tem um dataframe não precisa utilizar pd.DataFrame() pra criar um novo.

Se dados já é um dataframe, você pode mudar o index utilizando esse código:

dados.index = index

Já a coluna você pode configurar de duas maneiras diferentes, já pode adicionar as colunas durante a importação do arquivo com o parâmetro names:

dados = pd.read_csv('arquivo.csv', names=columns)

Ou pode substituir as colunas diretamente no dataframe:

dados.columns = columns

Seria esse o caso? Qualquer dúvida é só falar!

Obrigado pela esclarecimento da duvida