Está en la página 1de 53

CIONAL

NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray
ufunc NumPy
Broadcasting

Pablo Cárdenas

Facultad de Ingenierı́a Civil


Universidad Nacional de Ingenierı́a

25 de agosto de 2021
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
Contenido
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray 1 Introducción
ufunc
Broadcasting

2 NumPy
Introducción
ndarray
ufunc
Broadcasting
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray
ufunc
Broadcasting
Sección 1

Introducción
CIONAL
NA D
E

E
A
D

Ecosistema Scipy
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU The Scipy Ecosystem


LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
Python Lenguaje de programación
ndarray
ufunc NumPy Arreglos numéricos, matrices y operaciones básicas en
Broadcasting
arreglos
SciPy Colección de algoritmos numéricos (álgebra lineal,
integración, optimización, . . . )
Matplotlib Librerı́a de generación de gráficos a partir de datos en
listas
etc
CIONAL
NA D
E

E
A
D

Ecosistema Scipy
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU The Scipy Ecosystem


LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
Python Lenguaje de programación
ndarray
ufunc NumPy Arreglos numéricos, matrices y operaciones básicas en
Broadcasting
arreglos
SciPy Colección de algoritmos numéricos (álgebra lineal,
integración, optimización, . . . )
Matplotlib Librerı́a de generación de gráficos a partir de datos en
listas
etc pandas, SymPy, scikit, Cython, . . .

https://scipy.org/about.html#the-scipy-ecosystem
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
¿Qué nos ofrece?
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción Numpy
NumPy
Introducción
ndarray Arreglos de ”n”dimensiones
ndarray
ufunc
ufunc Funciones cuyos argumentos son arreglos
Broadcasting
etc random, fft, linalg
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
¿Qué nos ofrece?
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción Numpy
NumPy
Introducción
ndarray Arreglos de ”n”dimensiones
ndarray
ufunc
ufunc Funciones cuyos argumentos son arreglos
Broadcasting
etc random, fft, linalg

Scipy
linalg spatial sparse
stats io integrate
interpolate fftpack signal
cluster odr optimize
special ndimage weave
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray
ufunc
Broadcasting
Sección 2

NumPy
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray
ufunc
Broadcasting Subsección 1

Introducción
CIONAL
NA D
E

E
A
D

Necesidad de Numpy
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Problemas con Python


LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Python es lento
Introducción
ndarray
Python es un lenguaje
ufunc
Broadcasting
de alto nivel,
interpretado,
dinámicamente tipado.
CIONAL
NA D
E

E
A
D

Necesidad de Numpy
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Problemas con Python


LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Python es lento
Introducción
ndarray
Python es un lenguaje
ufunc
Broadcasting
de alto nivel,
interpretado,
dinámicamente tipado.
Python es un lenguaje rápido (de escribir),
CIONAL
NA D
E

E
A
D

Necesidad de Numpy
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Problemas con Python


LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Python es lento
Introducción
ndarray
Python es un lenguaje
ufunc
Broadcasting
de alto nivel,
interpretado,
dinámicamente tipado.
Python es un lenguaje rápido (de escribir),
pero es lento (al ejecutar).
CIONAL
NA D
E

E
A
D

Necesidad de Numpy
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Problemas con Python


LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Python es lento
Introducción
ndarray
Python es un lenguaje
ufunc
Broadcasting
de alto nivel,
interpretado,
dinámicamente tipado.
Python es un lenguaje rápido (de escribir),
pero es lento (al ejecutar).

Problema
Python es lento en los bucles grandes
CIONAL
NA D
E

E
A
D

Diferencias
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU list vs. ndarray


LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy Listas de Python


Introducción
ndarray Tamaño variable Arreglos de Numpy
ufunc
Broadcasting L.append(1), L.pop() Tamaño fijo
Heterogeneo Homogeneo
L = [1, 2.0, "tres"]
CIONAL
NA D
E

E
A
D

Diferencias
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU list vs. ndarray


LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy Listas de Python


Introducción
ndarray Tamaño variable Arreglos de Numpy
ufunc
Broadcasting L.append(1), L.pop() Tamaño fijo
Heterogeneo Homogeneo
L = [1, 2.0, "tres"]

Desventajas Desventajas
Desreferenciaciones Integer overflow
Tamaño de elementos Inf y Nan
Chequeo de tipos Conversión implı́cita
CIONAL
NA D
E

E
A
D

Representación de Memoria
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU ndarray vs. list


LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray
ufunc
Broadcasting

Figura: Comparación entre ndarray y list


Fuente: http://jakevdp.github.io/blog/2014/05/09/why-python-is-slow/
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
Ejemplo
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy Ejemplo
Introducción
ndarray
ufunc
Arreglos de Numpy vs. Listas de Python
Broadcasting /ndarray vs list.py

Conclusión
Los Arreglos de Numpy
usan menos memoria,
son más rápido, y
son más elegantes.
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray
ufunc
Broadcasting Subsección 2

ndarray
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
Atributos
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray
Atributos de ndarray
ufunc
Broadcasting ndim Número de dimensiones
shape las dimensiones
size número de elementos
dtype tipo de los elementos
itemsize tamaño en bytes de cada elemento
nbytes tamaño en bytes de la data
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
Tipos de datos
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción dtype
ndarray
ufunc
Broadcasting
bool
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
Tipos de datos
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción dtype
ndarray
ufunc
Broadcasting
bool int64
int
intc
intp
int8
int16
int32
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
Tipos de datos
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción dtype
ndarray
ufunc
Broadcasting
bool int64
int uint8
intc uint16
intp uint32
int8 uint64
int16
int32
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
Tipos de datos
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción dtype
ndarray
ufunc
Broadcasting
bool int64 float32
int uint8
float64
intc uint16
intp uint32
int8 uint64
int16 float
int32 float16
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
Tipos de datos
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción dtype
ndarray
ufunc
Broadcasting
bool int64 float32
int uint8
float64
intc uint16
intp uint32 complex
int8 uint64
complex64
int16 float
int32 float16 complex128
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
Creación de Arreglos I
LIM

PE
A

1876

NumPy

Pablo Cárdenas
A partir de datos existentes
Introducción

NumPy array, asarray Crea un arreglo


Introducción
ndarray
astype Convierte arreglos
ufunc view, copy Devuelve referencia, copia
Broadcasting
flatten, ravel, flat Devuelve el arreglo aplanado (1dim)
shape, reshape Cambia de forma

Inicialización
empty, empty like Arreglo sin inicializar los elementos
ones , ones like Arreglo relleno de unos
zeros, zeros like Arreglo relleno de ceros
full , full like Arreglo rellenos de un valor dado
eye, identity Arreglo identidad
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
Creación de Arreglos II
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Rangos Numéricos
Introducción
ndarray arange Similar a range
ufunc
Broadcasting
linspace Números espaciados según un intervalo dado
logspace Numeros espaciados en una escala logarı́tmica
geomspace Números espaciados como una progresión geométrica
meshgrid Devuelve un meshgrid a partir vectores coordenadas
mgrid instancia de nd grid que devuelve un meshgrid mul-
tidimensional denso
ogrid instancia de nd grid que devuelve un meshgrid mul-
tidimensional abierto
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray
ufunc
Broadcasting Subsección 3

ufunc
CIONAL
NA D
E

E
A
D

Funciones Universales
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Universal functions
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción
Definición
NumPy
Introducción Son funciones que operan los ndarrays elemento por elemento.
ndarray
ufunc Además, soportan broadcasting
Broadcasting
CIONAL
NA D
E

E
A
D

Funciones Universales
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Universal functions
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción
Definición
NumPy
Introducción Son funciones que operan los ndarrays elemento por elemento.
ndarray
ufunc Además, soportan broadcasting
Broadcasting

Ejemplos de ufunc
Op. aritméticos + - * / // % **
Op. bit a bit & | ~ ^ >> <<
Op. de comparación < > <= >= == !=
Fun. Trigonométricas np.sin, np.cos, np.tan, ...
Fun. Exponenciales np.exp, np.log, np.log10, ...
Fun. especiales scipy.special.*
CIONAL
NA D
E

E
A
D

Reducciones
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Aggregation
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción Reducciones
NumPy
Introducción
np.sum()
ndarray
ufunc
np.prod()
Broadcasting
CIONAL
NA D
E

E
A
D

Reducciones
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Aggregation
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción Reducciones
NumPy
Introducción
np.sum()
ndarray
ufunc
np.prod()
Broadcasting np.any()
np.all()
CIONAL
NA D
E

E
A
D

Reducciones
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Aggregation
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción Reducciones
NumPy
Introducción
np.sum() np.max()
ndarray np.prod() np.mean() np.percentile()
ufunc
Broadcasting np.any() np.std()
np.all() np.var()
np.min() np.median()
CIONAL
NA D
E

E
A
D

Reducciones
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Aggregation
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción Reducciones
NumPy
Introducción
np.sum() np.max()
ndarray np.prod() np.mean() np.percentile()
ufunc
Broadcasting np.any() np.std()
np.argmin()
np.all() np.var()
np.min() np.median() np.argmax()
CIONAL
NA D
E

E
A
D

Reducciones
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Aggregation
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción Reducciones
NumPy
Introducción
np.sum() np.max()
ndarray np.prod() np.mean() np.percentile()
ufunc
Broadcasting np.any() np.std()
np.argmin()
np.all() np.var()
np.min() np.median() np.argmax()

Versiones que ignoran los nan

np.nansum() np.nanmean()
np.nanprod() np.nanstd() np.nanpercentile()
np.nanmax() np.nanvar() np.nanargmax()
np.nanmin() np.nanmedian() np.nanargmin()
CIONAL
NA D
E

E
A
D
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray
ufunc
Broadcasting
Subsección 4

Broadcasting
CIONAL
NA D
E

E
A
D

Difusión
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Broadcasting
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción Definición
ndarray
ufunc Es un conjunto de reglas para que los ufunc operen arreglos que no
Broadcasting
tienen el mismo shape
CIONAL
NA D
E

E
A
D

Difusión
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Broadcasting
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción Definición
ndarray
ufunc Es un conjunto de reglas para que los ufunc operen arreglos que no
Broadcasting
tienen el mismo shape

Reglas
1 Si los ndim son diferentes, anteponer 1’s al shape del arreglo de
menor ndim.
2 La dimensión con tamaño 1 se repite (sin hacer copias)
CIONAL
NA D
E

E
A
D

Broadcasting
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Ejemplos I
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray
ufunc
Broadcasting
Ejemplo 1
[0, 1, 2] + 5
(3,) ()
CIONAL
NA D
E

E
A
D

Broadcasting
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Ejemplos I
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray
ufunc
Broadcasting
Ejemplo 1
[0, 1, 2] + 5
(3,) ()
[0, 1, 2] + [5]
(3,) (1,)
CIONAL
NA D
E

E
A
D

Broadcasting
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Ejemplos I
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray
ufunc
Broadcasting
Ejemplo 1
[0, 1, 2] + 5
(3,) ()
[0, 1, 2] + [5]
(3,) (1,)
[0, 1, 2] + [5, 5, 5]
(3,) (3,)
CIONAL
NA D
E

E
A
D

Broadcasting
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Ejemplos I
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción Ejemplo 2
NumPy
Introducción [[1, 1, 1]
ndarray
[1, 1, 1] + [0, 1, 2]
ufunc
Broadcasting
Ejemplo 1 [1, 1, 1]]
[0, 1, 2] + 5 (3,3) (3,)
(3,) ()
[0, 1, 2] + [5]
(3,) (1,)
[0, 1, 2] + [5, 5, 5]
(3,) (3,)
CIONAL
NA D
E

E
A
D

Broadcasting
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Ejemplos I
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción Ejemplo 2
NumPy
Introducción [[1, 1, 1]
ndarray
[1, 1, 1] + [0, 1, 2]
ufunc
Broadcasting
Ejemplo 1 [1, 1, 1]]
[0, 1, 2] + 5 (3,3) (3,)
(3,) () [[1, 1, 1]
[0, 1, 2] + [5] [1, 1, 1] + [[0, 1, 2]]
(3,) (1,) [1, 1, 1]]
[0, 1, 2] + [5, 5, 5] (3,3) (1,3)
(3,) (3,)
CIONAL
NA D
E

E
A
D

Broadcasting
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Ejemplos I
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción Ejemplo 2
NumPy
Introducción [[1, 1, 1]
ndarray
[1, 1, 1] + [0, 1, 2]
ufunc
Broadcasting
Ejemplo 1 [1, 1, 1]]
[0, 1, 2] + 5 (3,3) (3,)
(3,) () [[1, 1, 1]
[0, 1, 2] + [5] [1, 1, 1] + [[0, 1, 2]]
(3,) (1,) [1, 1, 1]]
[0, 1, 2] + [5, 5, 5] (3,3) (1,3)
(3,) (3,) [[1, 1, 1] [[0, 1, 2]
[1, 1, 1] + [0, 1, 2]
[1, 1, 1]] [0, 1, 2]]
(3,3) (3,3)
CIONAL
NA D
E

E
A
D

Broadcasting
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Ejemplos II
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción Ejemplo 3
NumPy
Introducción
[[0]
ndarray [1] + [0, 1, 2]
ufunc
Broadcasting [2]]
(3,1) (3,)
CIONAL
NA D
E

E
A
D

Broadcasting
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Ejemplos II
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción Ejemplo 3
NumPy
Introducción
[[0]
ndarray [1] + [0, 1, 2]
ufunc
Broadcasting [2]]
(3,1) (3,)
[[0]
[1] + [[0, 1, 2]]
[2]]
(3,1) (1,3)
CIONAL
NA D
E

E
A
D

Broadcasting
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Ejemplos II
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción Ejemplo 3
NumPy
Introducción
[[0]
ndarray [1] + [0, 1, 2]
ufunc
Broadcasting [2]]
(3,1) (3,)
[[0]
[1] + [[0, 1, 2]]
[2]]
(3,1) (1,3)
[[0, 0, 0] [[0, 1, 2]
[1, 1, 1] + [0, 1, 2]
[2, 2, 2]] [0, 1, 2]]
(3,3) (3,3)
CIONAL
NA D
E

E
A
D

Broadcasting
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Ejemplos II
LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción Ejemplo 3
NumPy
Introducción
[[0]
ndarray [1] + [0, 1, 2]
ufunc
Broadcasting [2]]
(3,1) (3,)
[[0]
[1] + [[0, 1, 2]]
[2]]
(3,1) (1,3)
[[0, 0, 0] [[0, 1, 2]
[1, 1, 1] + [0, 1, 2]
[2, 2, 2]] [0, 1, 2]]
(3,3) (3,3)
CIONAL
NA D
E

E
A
D

Aplicación
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Vecinos más cercanos


LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray
Ejemplo: Nearest Neighbors
ufunc
Broadcasting Obtener una lista de ı́ndices de los puntos más cercanos.

Dij = (xi − xj )2 + (yi − yj )2 + (zi − zj )2


CIONAL
NA D
E

E
A
D

Aplicación
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Vecinos más cercanos


LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray
Ejemplo: Nearest Neighbors
ufunc
Broadcasting Obtener una lista de ı́ndices de los puntos más cercanos.

Dij = (xi − xj )2 + (yi − yj )2 + (zi − zj )2

3
X
Dij = (Xik − Xjk )2
k=1
CIONAL
NA D
E

E
A
D

Indexación y recorte
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Indexing and Slicing


LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray Ejemplo
ufunc
Broadcasting >>> a = np.arange(12).reshape(3, 4)
>>> a[1, 2]
CIONAL
NA D
E

E
A
D

Indexación y recorte
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Indexing and Slicing


LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray Ejemplo
ufunc
Broadcasting >>> a = np.arange(12).reshape(3, 4)
>>> a[1, 2]
6
CIONAL
NA D
E

E
A
D

Indexación y recorte
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Indexing and Slicing


LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray Ejemplo
ufunc
Broadcasting >>> a = np.arange(12).reshape(3, 4)
>>> a[1, 2]
6
>>> a[0:2,1:3]
CIONAL
NA D
E

E
A
D

Indexación y recorte
DA

TL
I

ING
NT

AB
CI E
UNIVERSI

OR
ENIERIA
S

RU Indexing and Slicing


LIM

PE
A

1876

NumPy

Pablo Cárdenas

Introducción

NumPy
Introducción
ndarray Ejemplo
ufunc
Broadcasting >>> a = np.arange(12).reshape(3, 4)
>>> a[1, 2]
6
>>> a[0:2,1:3]
array([[1, 2],
[5, 6]])

También podría gustarte