目录
简介
一、创建数组
1、根据列表创建数组
2、创建全0数组
3、创建全1数组
4、创建单位矩阵
5、创建随机数数组
二、查看数组的属性
三、 数组的操作
1、索引和切片
2、变形
3、拼接
(1)、vstack() 纵向拼接
(2)、hstack() 横向拼接
4、分割
四、数组的运算
1、加减乘除
2、点乘运算
五、常用函数
总结
简介
NumPy(Numerical Python)是 Python 中用于科学计算的一个核心库。它提供了支持大规模多维数组和矩阵运算的高性能数据结构,以及用于处理这些数组的工具。NumPy 是许多其他科学计算库(如 SciPy、Pandas、Matplotlib 等)的基础。
一、创建数组
1、根据列表创建数组
numpy.array()
import numpy as np
list1 = [[1,2,3],[4,5,6],[7,8,9]]
arr = np.array(list1)
print(arr,type(arr))
2、创建全0数组
numpy.zeros()
arr1 = np.zeros((3,3))
print(arr1)
3、创建全1数组
numpy.ones()
arr2 = np.ones((3,3))
print(arr2)
4、创建单位矩阵
numpy.eye(n)
arr3 = np.eye(3)
print(arr3)
5、创建随机数数组
numpy.random.rand()
arr4 = np.random.rand(3,3)
print(arr4)
二、查看数组的属性
1、矩阵.shape 查看数组的形状
2、矩阵.size 查看数组的元素个数
3、矩阵.dtype 查看数组元素类型
4、矩阵.ndim 查看数组的维度
5、矩阵.astype() 将数组元素类型转换成指定类型
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])print(arr.shape) # 输出: (2, 3)
print(arr.size) # 输出: 6
print(arr.dtype) # 输出: int32
print(arr.ndim) # 输出: 2arr0 = arr.astype(float)
print(arr0.dtype) # 输出float64
三、 数组的操作
NumPy 提供了丰富的数组操作功能,包括索引、切片、变形、拼接、分割等。
1、索引和切片
arr = np.array([1, 2, 3, 4, 5])
print(arr[0]) # 输出: 1
print(arr[1:4]) # 输出: [2 3 4]arr2d = np.array([[1, 2, 3], [4, 5, 6]])
print(arr2d[0, 1]) # 输出: 2
print(arr2d[:, 1]) # 输出: [2 5]
2、变形
numpy.reshape()
arr = np.array([1, 2, 3, 4, 5, 6])
reshaped_arr = arr.reshape((2, 3))
print(reshaped_arr)
# 输出:
# [[1 2 3]
# [4 5 6]]
3、拼接
(1)、vstack() 纵向拼接
import numpy as np
list1 = [[1,2,3],[4,5,6],[7,8,9]]
list2 = [[11,22,33],[44,55,66],[77,88,99]]
arr1 = np.array(list1)
arr2 = np.array(list2)
arr3 = np.vstack((arr1,arr2))
# arr4 = np.hstack((arr1,arr2))
print(arr3)
# print(arr4)
(2)、hstack() 横向拼接
import numpy as np
list1 = [[1,2,3],[4,5,6],[7,8,9]]
list2 = [[11,22,33],[44,55,66],[77,88,99]]
arr1 = np.array(list1)
arr2 = np.array(list2)
# arr3 = np.vstack((arr1,arr2))
arr4 = np.hstack((arr1,arr2))
# print(arr3)
print(arr4)
4、分割
numpy.split(矩阵,n,axis=0) 将矩阵分为n份,axis=0时按行分割,axis=1时按列分割
arr = np.array([1, 2, 3, 4, 5, 6])
split_arr = np.split(arr, 3)
print(split_arr) # 输出: [array([1, 2]), array([3, 4]), array([5, 6])]
四、数组的运算
1、加减乘除
数组之间直接的加减乘除运算就是按照简单的对位运算
import numpy as np
list1 = [[1,2,3],[4,5,6],[7,8,9]]
list2 = [[11,22,33],[44,55,66],[77,88,99]]
arr1 = np.array(list1)
arr2 = np.array(list2)
arr6 = arr1+arr2
arr5 = arr1*arr2
print(arr5)
print(arr6)
2、点乘运算
numpy.dot(arr1,arr2)
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])dot_product = np.dot(arr1, arr2)
print(dot_product)
五、常用函数
NumPy 提供了许多用于数组处理的函数,例如求和、平均值、标准差、最大值、最小值等。
arr = np.array([1, 2, 3, 4, 5])# 求和
print(np.sum(arr)) # 输出: 15
# 平局值
print(np.mean(arr)) # 输出: 3.0
# 标准差
print(np.std(arr)) # 输出: 1.4142135623730951
# 最大值
print(np.max(arr)) # 输出: 5
# 最小值
print(np.min(arr)) # 输出: 1
总结
NumPy 是 Python 科学计算的基础库,提供了高效的多维数组操作和丰富的数学函数。通过掌握 NumPy 的基本用法,你可以轻松地进行大规模数据处理和科学计算。NumPy 的强大功能使其成为数据科学、机器学习、图像处理等领域的重要工具。