Tengo una matriz dada:
array = [(u'Andrew', -3, 3, 100.032) (u'Bob', -4, 4, 103.323) (u'Joe', -5, 5, 154.324)]
que se genera a partir de otro proceso (que no puedo controlar) de tomar una tabla CSV y genera esta matriz numpy. Ahora necesito asignar los dtypes de las columnas para hacer un análisis más detallado.
¿Cómo puedo hacer esto?
Gracias
Esto es lo que necesitas ?
new_array = np.array(array, dtype = [("name", object), ("N1", int), ("N2", int), ("N3", float)])
donde nombre y N1-3 son nombres de columnas que di.
Da :
array([(u'Andrew', -3, 3, 100.032), (u'Bob', -4, 4, 103.323), (u'Joe', -5, 5, 154.324)], dtype=[('name', 'O'), ('N1', '
Puedes ordenar en "N1" por ejemplo:
new_array.sort(order="N1") new_array array([(u'Joe', -5, 5, 154.324), (u'Bob', -4, 4, 103.323), (u'Andrew', -3, 3, 100.032)], dtype=[('name', 'O'), ('N1', '
Espero que esto ayude.
recarr = np.rec.fromrecords(array)
Opcionalmente establecer nombres de campo:
recarr = np.rec.fromrecords(array, names="name, idata, idata2, fdata")