Tentei fazer desta maneira, mas os valores normalizados ficaram diferentes
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!