Python---15.NumPy
·
numpy机器学习是当今科技领域最热门的话题之一。作为一种强大的工具,Python语言在机器学习领域大放异彩。而在Python生态系 统中,NumPy库扮演着重要的角色,它提供了丰富的功能和高效的数据结构,使得机器学习任务更加便捷和高效。
特点:在 Python 中,我们有列表可以充当数组,但处理速度很慢。NumPy 旨在提供一个比传统 Python 列表快 50 倍的数组对象。NumPy 中的数组对象称为 ndarray,它提供了许多支持函数,使得处理 ndarray 非常容易。数组在数据科学中非常常用,因为速度和资源非常重要。NumPy 是一个 Python 库,部分用 Python 编写,但需要快速计算的大部分部分是用 C 或 C++ 编写的。
-
数组:NumPy 通常在
np别名下导入。-
一维数组:np.array、np.arange、np.linspace
import numpy as np ar1 = np.array([1,2,3,4,5,6]) # print(ar1) ar2 = np.array(range(1,10)) # print(ar2) ar3 = np.arange(1,10) # print(ar3) # 使用线性等分向量,将1-20等分为5份 ar4 = np.linspace(1,20,5) # print(ar4) -
二维数组:
import numpy as np list1 = [[1,2,3],[4,5,6]] ar1 = np.array(list1) # print(ar1) list2 = [(1,2),(3,4),(5,6)] ar2 = np.array(list2) # print(ar2) # 布尔类型会自动转换 list3 = [(7, 8), (9, False), (11, True)] ar3 = np.array(list3) # print(ar3) # 创建一个3行4列的,元素全为0的数组 ar4 = np.zeros((3, 4)) # print(ar4) # 创建指定值的数组 ar5 = np.full((3, 4), 5) # print(ar5) -
数组的方法:reshape 修改形状、flatten 将多维数组变为一维数组
import numpy as np # 创建1-5范围的数组 a = np.array([1, 2, 3, 4, 5]) # 一维数组里面有几个元素 # print(a.shape) # 维度 # print(a.ndim) # 返回一个数字,表示array中所有数据元素的数目 # print(a.size) # 创建一个2行5列的二维数组 b = np.arange(10).reshape(2, 5) # print(b) c = b.reshape(10) # 将二维数组变为一维数组 # print(c) a1 = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) b1 = np.ones((4, 3, 2)) # print(a1) # print(b1) # 将多维数组变为一维数组 # print(a1.flatten()) # print(b1.flatten()) -
数组的运算:常用的运算,在numpy中同样适用
import numpy as np """ 特点:数组的运算会将每一个元素都进行运算 """ a = np.arange(10).reshape(2, 5) # print(a) # print(a + 1) # print(a * 3) """ 维度一样:逐元运算,相同位置元素进行运算 元素个数要一致 """ b1 = np.array([30, 40, 50, 60]) b2 = np.array([0, 1, 2, 3]) # print(b1 + b2) # print(b1 * b2) """ 维度不一样:可以计算,在某一维度上的形状要一致 """ c1 = np.arange(1, 19).reshape(3, 6) c2 = np.arange(6) # print(c1) # print(c2) # print(c1 + c2) -
索引和切片:取值和切片的方式跟列表基本一致
import numpy as np """ 一维数组 """ a = np.arange(10)**3 # print(a) # 索引取值 # print(a[3]) # 负索引 # print(a[-7]) # 切片,取某一段值 左闭右开 # print(a[2:5]) # 起始不写默认从0开始,结束不写默认就是整个数组 # print(a[:]) # 根据步长取值 # print(a[::2]) # 修改元素 a[2] = 100 # print(a) # 倒序 步长为负数就是倒序,但是只能写步长 # print(a[::-2]) """ 二维数组 """ b = (np.arange(1, 17)**2).reshape(4, 4) # print(b) # 索引为1的行 # print(b[1]) # 索引为1的列,逗号前是行,逗号后是列 # print(b[:, 1]) # 取出元素 25 81,索引为1-3的行(左闭右开)和索引为0的列 # print(b[1:3, 0]) # 取出 36 49 100 121 # print(b[1:3, 1:3]) -
常用统计函数

-
更多推荐
所有评论(0)