Directorio de artículos
introducir
np.unique
es una función en la biblioteca NumPy que se utiliza para obtener valores únicos de una matriz y puede devolver información sobre estos valores únicos. La siguiente es np.unique
una introducción detallada a la función:
gramática:
unique_values = np.unique(arr, return_index=False, return_inverse=False, return_counts=False, axis=None)
arr
: la matriz de entrada de la que se extraerán valores únicos.return_index
: Parámetro opcional, si se establece enTrue
devuelve una matriz de índice que contiene el índice de la primera aparición de un valor único en la matriz de entrada. El valor predeterminado esFalse
.return_inverse
: Parámetro opcional, si se establece enTrue
devuelve una matriz de números enteros que contiene el índice de cada elemento de la matriz original en la matriz de valores únicos. Esto se puede utilizar para restaurar una matriz de valores únicos a la matriz original. El valor predeterminado esFalse
.return_counts
: Parámetro opcional, si se establece enTrue
devuelve una matriz de números enteros que contiene el número de veces que aparece cada valor único en la matriz de entrada. El valor predeterminado esFalse
.axis
: Parámetro opcional que especifica en qué eje buscar valores únicos. El valor predeterminado es si no se especifica,None
lo que significa buscar valores únicos en toda la matriz.
valor de retorno:
np.unique
La función devuelve una matriz NumPy que contiene valores únicos. Dependiendo de los parámetros establecidos, también puede devolver una o más matrices adicionales, como una matriz de índice, una matriz de índice inverso y una matriz de recuento.
Ejemplo:
import numpy as np
arr = np.array([3, 1, 2, 2, 3, 1, 4, 5, 5])
# 获取唯一值数组
unique_values = np.unique(arr)
# 输出: array([1, 2, 3, 4, 5])
# 获取唯一值的索引数组
unique_indices = np.unique(arr, return_index=True)[1]
# 输出: array([1, 2, 0, 6, 7], dtype=int64)
# 获取逆向索引数组,用于还原原始数组
inverse_indices = np.unique(arr, return_inverse=True)[1]
# 输出: array([2, 0, 1, 1, 2, 0, 3, 4, 4], dtype=int64)
# 获取唯一值的出现次数数组
value_counts = np.unique(arr, return_counts=True)[1]
# 输出: array([2, 2, 2, 1, 2], dtype=int64)
En el ejemplo anterior, np.unique
la función se usa para obtener un valor único y, opcionalmente, puede devolver el índice, el índice inverso y el recuento de ocurrencias, información que se puede usar en una variedad de tareas de análisis y procesamiento de datos.
Suplemento[1]
El propósito del código value_counts = np.unique(arr, return_counts=True)[1]
es contar arr
el número de apariciones de cada valor único en una matriz y almacenar los resultados en value_counts
una variable denominada .
Déjame explicarte cada parte de este código:
-
np.unique(arr, return_counts=True)
: Esta parte llama a lanp.unique
función NumPy y pasa los parámetrosreturn_counts=True
. Esto significa que la función devuelve una matriz que contiene los valores únicos y una matriz que contiene el número de apariciones de cada valor único. -
[1]
: Esta parte extrae el segundo elemento del resultado devuelto por la función. En Python, la indexación de listas y matrices comienza desde 0, por lo que[1]
significa obtener el segundo elemento en el resultado, que es la matriz que contiene el número de apariciones.
Entonces, el resultado final value_counts
es una arr
matriz NumPy que contiene el número de apariciones de cada valor único en la matriz. Por ejemplo, si arr
es [3, 1, 2, 2, 3, 1, 4, 5, 5]
, entonces value_counts
puede ser [2, 2, 2, 1, 2]
, lo que indica que el número 1 aparece dos veces, el número 2 aparece dos veces, el número 3 aparece dos veces, el número 4 aparece una vez y el número 5 aparece dos veces. Esta información es útil para realizar estadísticas y analizar la frecuencia de valores en los datos.