Quiero truncar los valores flotantes dentro de la matriz numpy, para .eg
2.34341232 --> 2.34Leí el punto flotante truncado de la publicación, pero es para un flotador. No quiero ejecutar un bucle en la matriz numpy, será bastante costoso. ¿Hay algún método incorporado dentro de numpy que pueda hacer esto fácilmente? Necesito salida como un flotador, no como una cadena.
Pruebe esta versión modificada de numpy.trunc() .
import numpy as np def trunc(values, decs=0): return np.trunc(values*10**decs)/(10**decs) Lamentablemente, la función numpy.trunc no permite el truncamiento decimal. Afortunadamente, multiplicar el argumento y dividir su resultado por una potencia de diez da los resultados esperados.
vec = np.array([-4.79, -0.38, -0.001, 0.011, 0.4444, 2.34341232, 6.999]) trunc(vec, decs=2)que devuelve:
>>> array([-4.79, -0.38, -0. , 0.01, 0.44, 2.34, 6.99])Utilice numpy.round :
import numpy as np a = np.arange(4) ** np.pi a => array([ 0. , 1. , 8.82497783, 31.5442807 ]) a.round(decimals=2) => array([ 0. , 1. , 8.82, 31.54])