资讯动态

【机器学习】Numpy

发布时间:2026/10/8 18:33:32 来源:尧图企业网站定制
NumPy属性arrnp.array([[1,2,3] ,[4,5,6]]) print(ndim: ,arr.ndim) # 2 二维数组 print(shape: ,arr.shape) #2,3 二行3列 print(size: ,arr.size) # 6, 一共六个元素 print(dtype: ,arr.dtype) # int 64 print(itemsize: ,arr.itemsize) # 8 , 每个int 64占8个字节# 生成0 - 14 的数字重塑为 3 行5 列的二维数组 anp.arange(15).reshape(3,5) print(数组的维度,a.shape) # (3, 5) print(数组轴的个数,a.ndim) # 2 print(数组元素类型: ,a.dtype) # int64 print(数组中每个元素的字节大小,a.itemsize) # 8 print(数组元素的总个数,a.size) # 15 print(类型查询,type(a)) # class numpy.ndarray print(a)1a.shape返回元组(3,5)代表数组3 行 5 列元组长度就是维度数2a.ndim轴 / 维度数量这里是2二维数组3a.dtype数组内元素的数据类型默认int6464 位整数4a.itemsize单个元素占用内存字节数int64占 8 字节5a.size数组全部元素总数3*5156np.arange(15)生成 [0,1,2,3,...,14]7.reshape(3,5)把一维数组重新调整形状为 3 行 5 列元素总数必须匹配3*515创建ndarrayndarray 是 NumPy 的多维数组对象特点1下标从 0 开始2数组内所有元素必须是同一种数据类型3运算速度快、占用内存少支持矢量运算与广播机制array ()np.array() 是最基础的创建数组的方法接收列表 / 元组等序列生成 ndarrayimport numpy as np anp.array([2,3,4]) print(数组a元素,a) print(数组a类型,a.dtype) bnp.array([1.2,3.2,4.5]) print(数组b元素,b) print(数组b类型,b.dtype)数组a里面都是整数自动识别为int64整型数组b里面都是小数自动识别为float64浮点型补充列表同时包含整数 浮点数会自动全部转为浮点数cnp.array([1,2.5,3]) print(c.dtype) # float64np.zeros () /np.ones () /np.empty ()知识点shape 参数1(3,4) → 二维数组3 行 4 列2(2,3,4) → 三维数组2 块每块 3 行 4 列# zero 创建3行4列 全0二维数组 zeros1np.zeros((3,4)) print(zeros1) # ones 创建2块 每块3行4列的三维全1数组 ones1np.ones((2,3,4)) print(ones1) # empty 创建2行3列数组值为内存残留随机数 empty1np.empty((2,3)) print(empty1)np.arange ()np.arange() 和 Python 内置range()很像生成一维 ndarray 数组区别python range只能整数np.arange支持小数步长语法np.arange(start, stop, step, dtype)1start起始值包含默认 02stop终止值不包含3step步长默认 14dtype指定数组元素类型np_arangenp.arange(10,20,5,dtypeint) print(arange创建np_arange: ,np_arange) print(arange创建np_arange的元素类型,np_arange.dtype) print(arange创建np_arange的类型: ,type(np_arange))核心记住start 取stop 不取10 取 10105 取 15155 不取 20np.matrix ()matrix简称mat是ndarray的子类只能创建二维矩阵不能生成一维、三维特点矩阵相乘用*直接运算和普通 ndarray 不一样不推荐优先用 matrix日常开发更推荐直接用 ndarray 数组matrix和 asmatrix1返回的对象类型完全一样都是 matrix二维矩阵ndarray 子类2唯一差别是否复制内存anp.matrix()默认 copyTrue →新建一份独立数据副本修改新矩阵不会影响原来数组bnp.asmatrix()等价 matrix(data, copyFalse) →尽量不复制共用同一块内存修改它会影响原始数组三种写法import numpy as np # 写法1字符形式空格分隔同行元素分号 ; 换行 x1np.matrix(1 2;3 4) print(x1) # 写法2 字符串逗号分隔同行元素分号 ; 换行 x2np.matrix(1,2;3,4) print(x2) # 写法3 传入二维列表生成矩阵 x3np.matrix([[1,2,3,4],[5,6,7,8]]) print(x3)创建随机数矩阵三个函数对比小知识点1返回值都是numpy.ndarraynumpy 数组 / 矩阵2randint 是左闭右开randint(-1,5) 能取到 -1取不到 5最大整数是 43uniform 均匀分布区间内每个数出现概率相等# 1. np.random.rand(行数列数: 生成【0.0,1.0) 之间的随机浮点数 # arrnp.random.rand(3,4) # print(arr) # print(type(arr))# 2. np.random.randint(low,high,size (行列)) 生成 [low,high) 的随机整数 arrnp.random.randint(-1,5,size(3,4)) print(arr) print(type(arr))# 3. np.random.uniform(low,high,size(行, 列) 生成 [low, high)的均匀分布随机浮点数 arrnp.random.uniform(-1,5,size(3,4)) print(arr) print(type(arr))ndarray 数据类型dtype 参数创建数组的时候直接指定数组元素的数据类型格式类型名位数 例如 float64、int32astype() 方法对已经存在的数组生成一个新数组转换数据类型原数组不会改变# 初始化3行4列数组数据类型为float64 zeros_float_arrnp.zeros((3,4),dtypenp.float64) print(zeros_float_arr) print(zeros_float_arr.dtype)转换数据类型# astype转换数据类型将自己 已有的数据类型转换为int32 zeros_float_arrnp.zeros((3,4),dtypenp.float64) zeros_int_arrzeros_float_arr.astype(np.int32) print(zeros_int_arr) print(zeros_int_arr.dtype)补充1np.float64双精度浮点数占 8 字节np.int3232 位整型占 4 字节2astype不会修改原数组是返回新数组必须用变量接收返回值

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑