Solución:
Las matrices numerosas tienen un astype
método. Solo haz y.astype(int)
.
Tenga en cuenta que puede que ni siquiera sea necesario hacer esto, dependiendo de para qué esté usando la matriz. Bool se promocionará automáticamente a int en muchos casos, por lo que puede agregarlo a matrices int sin tener que convertirlo explícitamente:
>>> x
array([ True, False, True], dtype=bool)
>>> x + [1, 2, 3]
array([2, 2, 4])
los 1*y
El método también funciona en Numpy:
>>> import numpy as np
>>> x = np.array([4, 3, 2, 1])
>>> y = 2 >= x
>>> y
array([False, False, True, True], dtype=bool)
>>> 1*y # Method 1
array([0, 0, 1, 1])
>>> y.astype(int) # Method 2
array([0, 0, 1, 1])
Si está solicitando una forma de convertir las listas de Python de Boolean a int, puede usar map
para hacerlo:
>>> testList = [False, False, True, True]
>>> map(lambda x: 1 if x else 0, testList)
[0, 0, 1, 1]
>>> map(int, testList)
[0, 0, 1, 1]
O usando listas por comprensión:
>>> testList
[False, False, True, True]
>>> [int(elem) for elem in testList]
[0, 0, 1, 1]
Usando numpy, puedes hacer:
y = x.astype(int)
Si estuviera usando una matriz no numérica, podría usar una lista de comprensión:
y = [int(val) for val in x]
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)