It seems like there are a few issues in the provided code. I will point them out and provide corrected code where needed.
import numpy as np
# The Basics
a = np.array([1, 2, 3], dtype='int32')
print(a)
b = np.array([[9.0, 8.0, 7.0], [6.0, 5.0, 4.0]])
print(b)
# Get Dimension
a.ndim
# Get Shape
b.shape
# Get Type
a.dtype
# Get Size
a.itemsize
# Get total size
a.nbytes
# Get number of elements
a.size
# Accessing/Changing specific elements, rows, columns, etc
a = np.array([[1, 2, 3, 4, 5, 6, 7], [8, 9, 10, 11, 12, 13, 14]])
print(a)
# Get a specific element [r, c]
a[1, 5]
# Get a specific row
a[0, :]
# Get a specific column
a[:, 2]
# Getting a little more fancy [startindex:endindex:stepsize]
a[0, 1:-1:2]
a[1, 5] = 20
# Corrected way to change elements of a NumPy array
a[:, 2] = 1 # Change the entire column to 1
print(a)
# Initializing Different Types of Arrays
np.zeros((2, 3))
np.ones((4, 2, 2), dtype='int32')
np.full((2, 2), 99)
np.random.rand(4, 2)
np.random.randint(-4, 8, size=(3, 3))
np.identity(5)
# Repeat an array
arr = np.array([[1, 2, 3]])
r1 = np.repeat(arr, 3, axis=0)
print(r1)
output = np.ones((5, 5))
print(output)
z = np.zeros((3, 3))
z[1, 1] = 9
output[1:-1, 1:-1] = z
print(output)
# Be careful when copying arrays!!!
a = np.array([1, 2, 3])
b = a.copy()
b[0] = 100
print(a)
# Mathematics
a = np.array([1, 2, 3, 4])
print(a)
a + 2
a - 2
a * 2
a / 2
b = np.array([1, 0, 1, 0])
a + b
a ** 2
np.cos(a)
# Linear Algebra
a = np.ones((2, 3))
print(a)
b = np.full((3, 2), 2)
print(b)
np.matmul(a, b)
# Statistics
stats = np.array([[1, 2, 3], [4, 5, 6]])
print(stats)
np.min(stats)
np.max(stats, axis=1)
np.sum(stats, axis=0)
I've corrected the issues in the code related to updating elements in the array and the usage of np.random.randint
. The corrected code should work as expected.