# Creamos una matriz de 3x3
matriz = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# Creamos un arreglo de 1x3 (una fila)
fila = np.array([10, 20, 30])
# Sumamos la fila a cada fila de la matriz
# NumPy "estira" el arreglo pequeño para que encaje con el grande
resultado = matriz + fila
print("Matriz original:\n", matriz)
print("\nFila a sumar:", fila)
print("\nResultado del Broadcasting:\n", resultado)
Matriz original:
[[1 2 3]
[4 5 6]
[7 8 9]]
Fila a sumar: [10 20 30]
Resultado del Broadcasting:
[[11 22 33]
[14 25 36]
[17 28 39]]
concatenación
= np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
# Concatenar verticalmente (uno arriba del otro)
vertical = np.concatenate((a, b), axis=0)
# Concatenar horizontalmente (uno al lado del otro)
horizontal = np.concatenate((a, b), axis=1)
print("Vertical (Axis 0):\n", vertical)
print("\nHorizontal (Axis 1):\n", horizontal)
Vertical (Axis 0):
[[1 2]
[3 4]
[5 6]
[7 8]]
Horizontal (Axis 1):
[[1 2 5 6]
[3 4 7 8]]
reamos un arreglo de 6 elementos
arr = np.array([10, 20, 30, 40, 50, 60])
# Dividir en 3 partes iguales
partes = np.split(arr, 3)
print("Arreglo original:", arr)
print("Parte 1:", partes[0])
print("Parte 2:", partes[1])
print("Parte 3:", partes[2])
# Ejemplo con matriz (Dividir a la mitad horizontalmente)
matriz_grande = np.random.randint(0, 10, (4, 4))
superior, inferior = np.vsplit(matriz_grande, 2)
print("\nMatriz original 4x4:\n", matriz_grande)
print("\nParte Superior (vsplit):\n", superi
Arreglo original: [10 20 30 40 50 60]
Parte 1: [10 20]
Parte 2: [30 40]
Parte 3: [50 60]
Matriz original 4x4:
[[2 5 2 0]
[0 7 0 4]
[5 9 6 2]
[3 4 0 9]]
Parte Superior (vsplit):
[[2 5 2 0]
[0 7 0 4]]