03Numpy基础(中)
数组的创建1.创建指定数组适用于已知数组内元素具体数值import numpy as np arrnp.array([[1,2,3],[4,5,6],[7,8,9]]) print(arr) #([a,b,c]) shape(3,3)2.创建递增数组np.arange()numpy.arange([start, ]stop, [step, ]dtypeNone, *, deviceNone, likeNone) #前两位数字 #[start, ]stop代表半开区间表示不包含结束值的数字 #第三位数字 #[step, ]dtypeNone代表步长指的是等差数列的差 #公差为510到100内生成 arr2 np.arange(10,100,5) print(arr2) 结果[10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95]3.创建同值数组np.zeros()该方法需要传入shape参数shape参数详解可以看上一节numpy.ones(shape, dtypeNone, orderC, *, deviceNone, likeNone)[源代码] arr3 np.zeros((1,3)) print(arr3) 结果[[0. 0. 0.]]上述代码中输出结果并不为整数型而是浮点型笔者猜测这是为了避免插入的浮点数被截断4.创建随机数组伪随机数初始值种子算法np.random系列函数该方法仍然需要传入shape参数arr1np.arange(0,10) arr2arr1[0:-2]#数字代表的是位置从0这个位置到-2指代的位置 print(arr1) print(arr2) 结果[0 1 2 3 4 5 6 7 8 9] [0 1 2 3 4 5 6 7] arr2arr1[0:-2:2]#每隔两个位置形如arr2arr1[0:-2:2]第三位数指的是隔两个位置采样跳跃采样矩阵的切片矩阵既有行列所以都要切行向量和列向量都切形式arr[0:1,0:1] arr[::2,::1]#访问矩阵切片 arr np.array([[1,2,3],[2,4,2],[55,55,22]]) arr1arr[0:1,1:2] print(arr) print(arr1) 结果 [[ 1 2 3] [ 2 4 2] [55 55 22]] [[2]]arr2arr[::2,::1]#行向量每隔两个元素列向量每隔一个元素根据上述矩阵切片可以做到提取某一行或者某一列arr np.array([[1,2,3],[2,4,2],[55,55,22]]) #arr3arr[::3,::1] # arr3arr[3,:] arr3arr[3] print(arr3) 结果 [[1 2 3]]注意提取列不可以简写此外提取列的时候出来的结果是列向量arr np.array([[1,2,3],[2,4,2],[55,55,22]]) arr1arr[:,1]提取出来的列的形式是向量如果想要它成为矩阵arr1arr[:,1:2] 或者 arr1arr[:,1].reshape(-1,1)数组切片仅是视图不会创建新的变量arrnp.array([1,2,3,4,5,6,7,8,9]) cutarr[:2] cut[0]12 print(cut) print(arr)上述代码中切片结果改变原数组也会发生改变这样就不会造成大量内存的浪费深度学习中arr[:]表达式代替arr表达式当然如果真的需要为切片生成新的变量arrnp.array([1,2,3,4,5,6,7,8,9]) cutarr[:2] cpcut.copy()#复制备份切片 cp[1]222 print(cp)#改变备份结果不会影响原数组 print(arr)数组赋值也是绑定同上arr2arr#将arr赋值给arr2 arr2[2]2 print(arr2) print(arr)#结果相互影响数组的变形转置.T方法只对矩阵有效如果想要把行向量转为列向量就要先用reshape方法转为矩阵arrnp.arange(5,10).reshape(1,-1).T arr2arr[:,0] print(arr2)翻转方法有两个上下翻转np.flipud() 意思是flip up-down左右翻转np.fliplr() 意思是flip left-right在数学中向量是竖着放置的arrnp.arange(10).reshape(2,5) print(arr) 结果 [[0 1 2 3 4] [5 6 7 8 9]] arr1np.fliplr(arr) print(arr1) 结果 [[4 3 2 1 0] [9 8 7 6 5]]#向量 arr2np.arange(10) arr3np.flipud(arr2) print(arr2) 结果 [0 1 2 3 4 5 6 7 8 9] print(arr3) 结果 [9 8 7 6 5 4 3 2 1 0]变形方法是 .reshape()拼接向量的拼接numpy.concatenate(arrays,/,axis0,outNone,*,dtypeNone,castingsame_kind)参数解释前两个参数给的是需要拼接的向量axis0指的是设置按照哪个轴方向进行拼接一般默认是轴0arr np.arange(10) arr1np.arange(12) arr3np.concatenate((arr,arr1)) print(arr3)矩阵的拼接两个矩阵可以按照不同的维度拼接但拼接的时候必须注意维度axis参数要吻合此外向量和矩阵之间不能相互拼接分裂向量的分裂将得到更短的向量方法 np.split()numpy.split(ary,indices_or_sections,axis0)参数解释第一个参数是要分裂的向量第二个参数是分裂的起始位置和终止位置第三个参数是轴矩阵的分裂依旧要设定分裂的维度

相关新闻

从理论到实践:DCDC开关电源设计全流程解析与调试指南

从理论到实践:DCDC开关电源设计全流程解析与调试指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/6 1:30:54 阅读更多 →
华三华为锐捷迈普中兴交换机二三层接口切换命令

华三华为锐捷迈普中兴交换机二三层接口切换命令

一 华三交换机1.交换接口切换为路由接口interface GigabitEthernet 1/0/24 port link-mode route # 切换为三层路由接口 ip address 192.168.100.2 242.路由接口切换为交换接口#vlan 100interface GigabitEthernet 1/0/24port link-mode bridge # 切换为交换接口 port lin…

2026/11/13 16:05:08 阅读更多 →
UE网格工具Mesh Tool v1.1.15:批量处理与资产整理实战

UE网格工具Mesh Tool v1.1.15:批量处理与资产整理实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/6 17:56:36 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/13 5:13:25 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/13 5:13:25 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/13 5:13:25 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/12 18:22:26 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/12 18:22:25 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/13 5:13:25 阅读更多 →

日新闻

周新闻

月新闻