Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

304
Visualizações
No se puede usar /= en una matriz numpy

En una matriz numpy , ¿por qué puedo usar / 2 con éxito?

 >>> a=np.array([2, 4, 6]) >>> a = a / 2 >>> a array([ 1., 2., 3.])

Pero no puedo usar a /= 2 ?

 >>> a=np.array([2, 4, 6]) >>> a /= 2 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: No loop matching the specified signature and casting was found for ufunc true_divide

He visto el problema numpy 6464 , pero no entiendo al leerlo y las notas de la versión vinculadas la razón por la que esto no funciona.

¿Hay alguna forma de hacer que /= funcione como se esperaba?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Como se señaló en el comentario, el cambio de int (que es cómo se crea a ) a float (que es el resultado de /) no está permitido cuando se usa /= . Para "arreglar" esto, el dtype de a solo tiene que ser un flotante desde el principio:

 a=np.array([2, 4, 6], dtype=np.float64) a/=2 print(str(a)) >>>array([1., 2., 3.])
over 4 years ago · Santiago Trujillo Relatório

0

Como se menciona en los comentarios, a / 2 produce una matriz flotante, pero el tipo de a es entero. Dado que los operadores de asignación de NumPy están optimizados para reutilizar la misma matriz (es decir, a = a + 2 y a += 2 no son exactamente iguales, el primero crea una nueva matriz mientras que el segundo simplemente reutiliza la existente), no puede usar ellos cuando el resultado tiene un dtype diferente. Si lo que quieres es una división de enteros, puedes usar la operación de asignación //= :

 >>> a = np.array([2, 4, 6]) >>> a //= 2 >>> a array([1, 2, 3])
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda