4 características geniales de Numpy que uso constantemente

En este artículo quiero hablar sobre varias funciones de Numpy que uso para analizar datos todo el tiempo. Esta no es una lista exhaustiva, pero creo que las herramientas que se discutirán serán útiles para todos sin excepción.



Ante una nueva tarea, pensé una y otra vez: "Esto es algo bastante específico, apenas hay una función incorporada para ello". En el caso de Numpy, más a menudo estaba equivocado que correcto.


Pero vayamos al grano. La única línea de importación que necesitamos:





donde ()


La función where () devolverá elementos que satisfagan una determinada condición. Veamos un ejemplo.


Crea una lista de calificaciones ( arbitraria ):



Ahora puede usar where () para encontrar estimaciones que son mayores, digamos, que 3:



Tenga en cuenta que se devuelven los índices de los artículos buscados .


Pero esto, por supuesto, no es todo, la función puede tomar dos parámetros opcionales:


  • el primero reemplazará los valores que satisfacen la condición
  • el segundo lo hará para valores que no satisfagan la condición


Dado que el artículo pretende ser breve, nos detendremos en esto.




argmin (), argmax (), argsort ()


La función argmin () devuelve el índice del valor mínimo. Para el mismo conjunto de clasificaciones que utilizamos anteriormente, el resultado será:



argmax () , como probablemente haya adivinado, hace exactamente lo contrario: devuelve el índice del elemento máximo:



El último de la trinidad argsort () devolverá una lista de índices de los elementos ordenados de la matriz. No lo olvide: encontrará una gran cantidad de situaciones cuando lo necesite.





intersect1d ()


La función intersect1d () devolverá la intersección de dos matrices, es decir elementos únicos que se encuentran en ambos. A diferencia de los ejemplos anteriores, no devolverá los índices, sino los valores en sí.


Crea dos matrices:



Encuentra los elementos comunes:





allclose ()


Finalmente, considere la función allclose () . Devolverá True si los elementos de las dos matrices son iguales dentro de la tolerancia. Nuevamente, no tiene idea de con qué frecuencia se necesita esto cuando se trabaja con datos.


Declaramos dos matrices, cuya diferencia entre los elementos correspondientes no es más de 0.2:



La función allclose () con una tolerancia de 0.1 debería devolver False :



Aumente la tolerancia a 0.2 para obtener la igualdad aproximada de las matrices:





Palabras de despedida


No cuente la cantidad de veces que tuve ( y tengo) la culpa de la invención de la rueda. A menudo pensamos que nuestro problema es único, y nadie adivinó crear una herramienta para resolverlo. A veces esto es cierto, pero a menudo te sientes como el último idiota, encontrando una función estándar conveniente en lugar de la que ya pasaste mucho tiempo creando.


Es mejor pasar un poco de este tiempo explorando las posibilidades de las bibliotecas populares, porque fue gracias a ellas que las bibliotecas se hicieron populares.


Gracias por leer

Source: https://habr.com/ru/post/480740/


All Articles