2
respostas

ValueError: Shape of passed values is (38, 1), indices imply (38, 38). Como resolver?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Tentei fazer desta maneira, mas os valores normalizados ficaram diferentes

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Olá, Marcel!

Pelo que entendi, você está tendo um problema com a forma dos dados que está passando. O erro ValueError: Shape of passed values is (38, 1), indices imply (38, 38) geralmente ocorre quando você está tentando operar em um DataFrame ou matriz com uma forma ou dimensões que não são compatíveis.

Pelo que vejo no código da aula, você está tentando normalizar os dados da Maria usando a função norm.transform(). A função transform() do StandardScaler espera um input bidimensional (ou seja, um DataFrame), mas parece que você está passando um vetor unidimensional.

Você pode tentar resolver isso garantindo que o Xmaria que você está passando para a função transform() seja um DataFrame em vez de um vetor unidimensional. No código da aula, eles fazem isso transformando o vetor Xmaria em um DataFrame antes de passá-lo para a função transform():

Xmaria_normalizado = norm.transform(pd.DataFrame(Xmaria, columns = X.columns))

Aqui, pd.DataFrame(Xmaria, columns = X.columns) está transformando o vetor Xmaria em um DataFrame com as mesmas colunas que o DataFrame X.

Se você já está fazendo isso e ainda assim está recebendo o erro, pode ser que o Xmaria que você está passando não tenha a mesma forma que o DataFrame X. Você pode verificar a forma de Xmaria e X usando Xmaria.shape e X.shape, respectivamente, para se certificar de que eles são compatíveis.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software