una transponer sumatoria multiplicacion matriz matrices inversa crear con arreglo array python arrays numpy set

transponer - sumatoria numpy python



¿Cómo convertir un conjunto de python a una matriz numpy? (3)

Hacer:

>>> numpy.array(list(c)) array([1, 4, 6])

Y dtype es int (int64 de mi lado).

Estoy usando una operación de configuración en python para realizar una diferencia simétrica entre dos matrices numpy. El resultado, sin embargo, es un conjunto y necesito volver a convertirlo en una matriz numpy para avanzar. ¿Hay alguna forma de hacer esto? Esto es lo que intenté:

a = numpy.array([1,2,3,4,5,6]) b = numpy.array([2,3,5]) c = set(a) ^ set(b)

Los resultados son un conjunto:

In [27]: c Out[27]: set([1, 4, 6])

Si convierto a una matriz numpy, coloca el conjunto completo en el primer elemento de la matriz.

In [28]: numpy.array(c) Out[28]: array(set([1, 4, 6]), dtype=object)

Lo que necesito, sin embargo, sería esto:

array([1,4,6],dtype=int)

Podría hacer un bucle sobre los elementos para convertirlos uno por uno, pero tendré 100.000 elementos y esperaría una función integrada para guardar el bucle. ¡Gracias!


No convierta la matriz numpy en un conjunto para realizar exclusivo o. Utilice setxor1d directamente.

>>> import numpy >>> a = numpy.array([1,2,3,4,5,6]) >>> b = numpy.array([2,3,5]) >>> numpy.setxor1d(a, b) array([1, 4, 6])


Prueba esto.

numpy.array(list(c))

La conversión a la lista antes de inicializar la matriz numpy establecería los elementos individuales en entero en lugar del primer elemento como el objeto.