Fundamentals 18 min read

45 Common NumPy Operations with Code Examples

This article presents a comprehensive guide to 45 essential NumPy operations, covering array creation, reshaping, arithmetic, statistical functions, linear algebra, and more, each illustrated with concise explanations and ready-to-run Python code examples to help readers efficiently leverage NumPy for scientific computing.

Test Development Learning Exchange
Test Development Learning Exchange
Test Development Learning Exchange
45 Common NumPy Operations with Code Examples

NumPy is a powerful Python library for scientific computing that provides support for multi‑dimensional arrays and a wide range of functions for mathematical, logical, shape, sorting, selection, linear algebra, statistics, and random operations.

Below are 45 frequently used NumPy operations, each accompanied by a brief description and a runnable code snippet.

1. Create array

import numpy as np
# 创建一个一维数组
arr = np.array([1, 2, 3])
print(arr)  # 输出: [1 2 3]

2. Transpose array

# 创建一个二维数组
arr = np.array([[1, 2], [3, 4]])
# 转置数组
transpose_arr = np.transpose(arr)
print(transpose_arr)  # 输出: [[1 3], [2 4]]

3. Create zero array

# 创建一个长度为 5 的零数组
zeros_arr = np.zeros(5)
print(zeros_arr)  # 输出: [0. 0. 0. 0. 0.]

4. Create ones array

# 创建一个长度为 5 的全一数组
ones_arr = np.ones(5)
print(ones_arr)  # 输出: [1. 1. 1. 1. 1.]

5. Create zero matrix

# 创建一个 3x3 的全零矩阵
zeros_matrix = np.zeros((3, 3))
print(zeros_matrix)
# 输出:
# [[0. 0. 0.]
#  [0. 0. 0.]
#  [0. 0. 0.]]

6. Create ones matrix

# 创建一个 3x3 的全一矩阵
ones_matrix = np.ones((3, 3))
print(ones_matrix)
# 输出:
# [[1. 1. 1.]
#  [1. 1. 1.]
#  [1. 1. 1.]]

7. Create empty array

# 创建一个长度为 5 的空数组
empty_arr = np.empty(5)
print(empty_arr)  # 输出: [未初始化的值]

8. Create array with specific value

# 创建一个 2x2 的数组,所有元素为 7
value_arr = np.full((2, 2), 7)
print(value_arr)
# 输出:
# [[7 7]
#  [7 7]]

9. Generate arithmetic sequence

# 生成从 10 到 20 的等差数列,步长为 2
arange_arr = np.arange(10, 20, 2)
print(arange_arr)  # 输出: [10 12 14 16 18]

10. Generate random numbers

# 生成一个长度为 3 的随机数组
random_arr = np.random.rand(3)
print(random_arr)  # 输出: [随机值]

11. Reshape array

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 改变数组的形状
shape_arr = arr.reshape(2, 2)
print(shape_arr)
# 输出:
# [[1 2]
#  [3 4]]

12. Get array dimensions

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 获取数组的维度
dimensions_arr = arr.ndim
print(dimensions_arr)  # 输出: 1

13. Get array size

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 获取数组的大小
size_arr = arr.size
print(size_arr)  # 输出: 4

14. Access element

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 获取数组的第三个元素
element_arr = arr[2]
print(element_arr)  # 输出: 3

15. Set element

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 设置数组的第三个元素为 5
arr[2] = 5
print(arr)  # 输出: [1 2 5 4]

16. Check membership

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 判断 3 是否在数组中
in_arr = 3 in arr
print(in_arr)  # 输出: True

17. Slice array

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 获取数组的第二个和第三个元素
slice_arr = arr[1:3]
print(slice_arr)  # 输出: [2 3]

18. Concatenate arrays

# 创建两个一维数组
arr1 = np.array([1, 2])
arr2 = np.array([3, 4])
# 拼接两个数组
concatenate_arr = np.concatenate((arr1, arr2))
print(concatenate_arr)  # 输出: [1 2 3 4]

19. Split array

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 将数组分成两部分
split_arr = np.split(arr, 2)
print(split_arr)  # 输出: [array([1, 2]), array([3, 4])]

20. Add arrays

# 创建两个一维数组
arr1 = np.array([1, 2])
arr2 = np.array([3, 4])
# 添加两个数组
add_arr = np.add(arr1, arr2)
print(add_arr)  # 输出: [4 6]

21. Subtract arrays

# 创建两个一维数组
arr1 = np.array([5, 6])
arr2 = np.array([3, 4])
# 相减两个数组
subtract_arr = np.subtract(arr1, arr2)
print(subtract_arr)  # 输出: [2 2]

22. Multiply arrays

# 创建两个一维数组
arr1 = np.array([2, 3])
arr2 = np.array([4, 5])
# 乘法两个数组
multiply_arr = np.multiply(arr1, arr2)
print(multiply_arr)  # 输出: [8 15]

23. Divide arrays

# 创建两个一维数组
arr1 = np.array([10, 20])
arr2 = np.array([5, 10])
# 除法两个数组
divide_arr = np.divide(arr1, arr2)
print(divide_arr)  # 输出: [2. 2.]

24. Floor divide arrays

# 创建两个一维数组
arr1 = np.array([10, 20])
arr2 = np.array([5, 10])
# 取整除法两个数组
floor_divide_arr = np.floor_divide(arr1, arr2)
print(floor_divide_arr)  # 输出: [2 2]

25. Square root

# 创建一个一维数组
arr = np.array([4, 9])
# 计算数组的平方根
sqrt_arr = np.sqrt(arr)
print(sqrt_arr)  # 输出: [2. 3.]

26. Sum of array

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 计算数组的和
sum_arr = np.sum(arr)
print(sum_arr)  # 输出: 10

27. Mean of array

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 计算数组的平均值
mean_arr = np.mean(arr)
print(mean_arr)  # 输出: 2.5

28. Max of array

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 计算数组的最大值
max_arr = np.max(arr)
print(max_arr)  # 输出: 4

29. Min of array

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 计算数组的最小值
min_arr = np.min(arr)
print(min_arr)  # 输出: 1

30. Sort array

# 创建一个一维数组
arr = np.array([3, 2, 1, 4])
# 对数组进行排序
sort_arr = np.sort(arr)
print(sort_arr)  # 输出: [1 2 3 4]

31. Flip array

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 翻转数组
flip_arr = np.flip(arr)
print(flip_arr)  # 输出: [4 3 2 1]

32. Reverse array

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 逆序数组
reverse_arr = arr[::-1]
print(reverse_arr)  # 输出: [4 3 2 1]

33. Cumulative sum

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 计算数组的累积和
cumsum_arr = np.cumsum(arr)
print(cumsum_arr)  # 输出: [1 3 6 10]

34. Cumulative product

# 创建一个一维数组
arr = np.array([1, 2, 3, 4])
# 计算数组的累积积
cumprod_arr = np.cumprod(arr)
print(cumprod_arr)  # 输出: [1 2 6 24]

35. Count non‑zero elements

# 创建一个一维数组
arr = np.array([0, 1, 0, 3])
# 计算数组中非零元素的数量
nonzero_count_arr = np.count_nonzero(arr)
print(nonzero_count_arr)  # 输出: 2

36. Indices of non‑zero elements

# 创建一个一维数组
arr = np.array([0, 1, 0, 3])
# 获取数组中非零元素的索引
nonzero_indices_arr = np.nonzero(arr)
print(nonzero_indices_arr)  # 输出: (array([1, 3]),)

37. Unique elements

# 创建一个一维数组
arr = np.array([1, 2, 3, 2, 1])
# 获取数组中的唯一元素
unique_arr = np.unique(arr)
print(unique_arr)  # 输出: [1 2 3]

38. Element frequency (histogram)

# 创建一个一维数组
arr = np.array([1, 2, 3, 2, 1])
# 计算数组中元素的频率
histogram_arr = np.histogram(arr, bins=3)
print(histogram_arr)  # 输出: (array([2, 2, 1]), array([1., 1.66666667, 2.33333333, 3. ]))

39. Inverse matrix

# 创建一个二维数组
arr = np.array([[1, 2], [3, 4]])
# 计算数组的逆矩阵
inverse_arr = np.linalg.inv(arr)
print(inverse_arr)
# 输出:
# [[-2.   1. ]
#  [ 1.5 -0.5]]

40. Eigenvalues and eigenvectors

# 创建一个二维数组
arr = np.array([[1, 2], [3, 4]])
# 计算数组的特征值和特征向量
eigenvalues_arr, eigenvectors_arr = np.linalg.eig(arr)
print(eigenvalues_arr)  # 输出: [5.37228132 -0.37228132]
print(eigenvectors_arr)
# 输出:
# [[ 0.41597356 -0.82456484]
#  [ 0.90937671  0.56576746]]

41. Singular value decomposition

# 创建一个二维数组
arr = np.array([[1, 2], [3, 4]])
# 计算数组的奇异值分解
u_arr, s_arr, vh_arr = np.linalg.svd(arr)
print(u_arr)
# 输出:
# [[-0.40455358 -0.9145143 ]
#  [-0.9145143   0.40455358]]
print(s_arr)  # 输出: [5.4649857  0.36596619]
print(vh_arr)
# 输出:
# [[-0.57604844 -0.81741556]
#  [-0.81741556  0.57604844]]

42. Solve linear system

# 创建一个二维数组和一个一维数组
A = np.array([[1, 2], [3, 4]])
b = np.array([5, 6])
# 求解线性方程组 Ax = b
x_arr = np.linalg.solve(A, b)
print(x_arr)  # 输出: [-4.  4.5]

43. Determinant

# 创建一个二维数组
arr = np.array([[1, 2], [3, 4]])
# 计算数组的行列式
determinant_arr = np.linalg.det(arr)
print(determinant_arr)  # 输出: -2.0

44. Norm

# 创建一个一维数组
arr = np.array([1, 2, 3])
# 计算数组的范数
norm_arr = np.linalg.norm(arr)
print(norm_arr)  # 输出: 3.7416573867739413

45. Rank

# 创建一个二维数组
arr = np.array([[1, 2], [3, 4]])
# 计算数组的秩
rank_arr = np.linalg.matrix_rank(arr)
print(rank_arr)  # 输出: 2

These examples demonstrate how NumPy can be used for a wide range of array manipulations and numerical computations, enabling efficient algorithm development in scientific and data‑analysis projects.

Pythonarraytutorialdata scienceNumPyscientific-computing
Test Development Learning Exchange
Written by

Test Development Learning Exchange

Test Development Learning Exchange

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.