NumPy is a powerful library for numerical computing in Python. It provides efficient and flexible tools for working with arrays, performing mathematical computations, and generating data.
ndarray
object, which is a fast and space-efficient multidimensional array for storing data.
import numpy as np
# Create a 1D array
array_1d = np.array([1, 2, 3, 4])
# Create a 2D array
array_2d = np.array([[1, 2, 3], [4, 5, 6]])
# Print the arrays
print("1D Array:", array_1d)
print("2D Array:\n", array_2d)
print("Shape:", array_2d.shape) # (2, 3)
print("Size:", array_2d.size) # 6
print("Data Type:", array_2d.dtype) # int32 (or int64 depending on platform)
# Element-wise addition and multiplication
result = array_2d + 10
product = array_2d * 2
print("Addition:\n", result)
print("Multiplication:\n", product)
# Generate a random array
random_array = np.random.randint(1, 10, size=10)
# Calculate statistics
mean = np.mean(random_array)
std = np.std(random_array)
sum_array = np.sum(random_array)
print("Array:", random_array)
print("Mean:", mean, "Std Dev:", std, "Sum:", sum_array)
# Access elements
print("Element at (0, 1):", array_2d[0, 1]) # 2
# Slice rows and columns
print("First row:", array_2d[0, :]) # [1, 2, 3]
print("Second column:", array_2d[:, 1]) # [2, 5]
# Random integers
random_ints = np.random.randint(1, 100, size=(3, 3))
# Linearly spaced array
linear_space = np.linspace(0, 1, 5)
# Sequence of numbers
sequence = np.arange(0, 10, 2)
print("Random Integers:\n", random_ints) # Outputs a 3x3 array of random integers
print("Linearly Spaced Array:", linear_space) # [0. 0.25 0.5 0.75 1.]
print("Sequence of Numbers:", sequence) # [0 2 4 6 8]
# Dot product
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
dot_product = np.dot(A, B)
# Transpose
transpose = A.T
# Inverse (requires square matrix)
inverse = np.linalg.inv(A)
print("Dot Product:\n", dot_product)
print("Transpose:\n", transpose)
print("Inverse:\n", inverse)