En \*\*NumPy\*\*, puedes obtener los \*\*elementos únicos\*\* y sus \*\*conteos\*\* utilizando varias funciones útiles como `np.unique()`...

Mario Alexander Vargas Celis

Mario Alexander Vargas Celis

Pregunta
student
hace 2 años

En **NumPy**, puedes obtener los **elementos únicos** y sus **conteos** utilizando varias funciones útiles como

np.unique()
. También es importante entender la diferencia entre **copias** y **vistas** cuando trabajas con arrays. A continuación, desglosamos estos temas.

### Elementos Únicos y sus Conteos

####

np.unique()

La función

np.unique()
devuelve los elementos únicos de un array. También puedes obtener los conteos de cuántas veces aparece cada elemento único.

import numpy as np \# Crear un array con elementos repetidos array = np.array(\[1, 2, 2, 3, 3, 3, 4, 4, 4, 4]) \# Obtener los elementos únicos unicos = np.unique(array) \# Obtener los elementos únicos y sus conteos unicos, conteos = np.unique(array, return\_counts=True) print("Elementos únicos:", unicos) print("Conteos:", conteos)

### Salida:

Elementos únicos: \[1 2 3 4] Conteos: \[1 2 3 4]

### Copias y Vistas en NumPy

Cuando trabajas con arrays en NumPy, debes entender si estás manipulando **copias** o **vistas** de un array. Esto afecta el rendimiento y el comportamiento cuando modificas arrays.

#### 1. **Vistas (Views)**:

- Una **vista** es una referencia al array original. Cambios en la vista afectan al array original.

- Al usar técnicas como **slicing** (

:
), NumPy crea una vista, no una copia.

\# Crear un array original array\_original = np.array(\[1, 2, 3, 4, 5]) \# Crear una vista del array vista = array\_original\[:3] \# Modificar la vista vista\[0] = 100 print("Array original después de modificar la vista:", array\_original) print("Vista:", vista)

### Salida:

Array original después de modificar la vista: \[100 2 3 4 5] Vista: \[100 2 3]

#### 2. **Copias**:

- Una **copia** es un nuevo array en memoria. Cambios en la copia no afectan al array original.

- Para crear una copia explícita, se usa

np.copy()
.

\# Crear un array original array\_original = np.array(\[1, 2, 3, 4, 5]) \# Crear una copia del array copia = np.copy(array\_original) \# Modificar la copia copia\[0] = 100 print("Array original después de modificar la copia:", array\_original) print("Copia:", copia)

### Salida:

Array original después de modificar la copia: \[1 2 3 4 5] Copia: \[100 2 3 4 5]

### Resumen:

- **Elementos Únicos**: Usa

np.unique()
para obtener los elementos únicos y sus conteos.

- **Vistas**: Son referencias al array original. Modificar una vista afecta el array original.

- **Copias**: Son nuevos arrays en memoria. Modificar una copia no afecta el array original.

¿Te gustaría algún ejemplo más o más detalles sobre estos temas?

No hay respuestas
Curso de Python para Ciencia de Datos

Curso de Python para Ciencia de Datos

Maneja y analiza datos con Python, NumPy y Pandas. Limpia, transforma, visualiza información y crea portafolios aplicando técnicas de ciencia de datos y gráficos en Matplotlib.

Curso de Python para Ciencia de Datos
Curso de Python para Ciencia de Datos

Curso de Python para Ciencia de Datos

Maneja y analiza datos con Python, NumPy y Pandas. Limpia, transforma, visualiza información y crea portafolios aplicando técnicas de ciencia de datos y gráficos en Matplotlib.