电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python 用NumPy創建二維數組的案例

瀏覽:92日期:2022-06-25 13:50:17
前言

上位機實戰開發先放一放,今天來學習一個新的內容—NumPy的使用

1 一維數組

例:用普通方法生成一維數組

num = [0 for i in range(1,5)] # 創建一維數組print(num) # 打印數組print('-'*50) # 分割線num[2]=6 # 將第三個元素修改位6print(num) # 打印數組print('-'*50) # 分割線

運行結果

Python 用NumPy創建二維數組的案例

例:用numpy生成一維數組

from numpy import *m1 = arange(5)print(m1)print('-'*50) # 分割線

運行結果

Python 用NumPy創建二維數組的案例

2 二維數組

例:用普通方法生成二維數組

num = [[0 for i in range(1,5)]for j in range(1,5)]print(num) # 打印數組print('-'*50) # 分割線num[2][1]=3 # 將第三行第二個元素修改為3print(num) # 打印數組print('-'*50) # 分割線

運行結果

Python 用NumPy創建二維數組的案例

例:用numpy生成二維數組

from numpy import *m1 = array([arange(1,4),arange(4,7),arange(7,10),arange(10,13),arange(13,16),arange(16,19)]) # 創建6行3列的二維數組print(m1)print('-'*50) # 分割線

運行結果

Python 用NumPy創建二維數組的案例

通過上圖發現,用普通方法創建的數組分隔符有逗號,而numpy創建的數組分隔符默認為空格。

3 二維數組的分片

請看程序注釋以及結果對照

from numpy import *m1 = array([arange(1,4),arange(4,7),arange(7,10),arange(10,13),arange(13,16),arange(16,19)]) # 創建6行3列的二維數組print(m1)print('-'*50) # 分割線print(m1[1][0:]) # [x][0:] 獲取第x行的全部元素(單行)print('-'*50) # 分割線print(m1[1:3]) # [x1:x2] 獲取第x1~x2行的全部元素(多行)print('-'*50) # 分割線print(m1[1::4]) # [x1::x2] 分片操作,從第x1行開始,步長為x2

運行結果

Python 用NumPy創建二維數組的案例

4 數組維度的操作

.reshape:將一維數組變成多維數組

用法:一維數組名.reshape(x,y,z)將一維數組改成三維數組

from numpy import *m1 = array([arange(1,9)]) # 創建一維數組print(m1)print('-'*50) # 分割線print(m1.reshape(2,2,2)) # 將一維數組轉為三維數組print('-'*50) # 分割線

運行結果

Python 用NumPy創建二維數組的案例

.ravel或flatten:將多維數組變為一維數組

用法:數組名.ravel()或 數組名.flatten()

from numpy import *m1 = array([arange(1,4),arange(4,7),arange(7,10),arange(10,13),arange(13,16),arange(16,19)]) # 創建6行3列的二維數組print(m1)print('-'*50) # 分割線print(m1.ravel()) # 將一維數組轉為三維數組print('-'*50) # 分割線

運行結果

Python 用NumPy創建二維數組的案例

.shape:將 高維數組 轉換成 低維數組

用法:數組名.shape(x行,列)

.transpose:將數組進行轉置

用法:數組名.transpose()

from numpy import *m1 = array([arange(1,4),arange(4,7),arange(7,10),arange(10,13),arange(13,16),arange(16,19)]) # 創建6行3列的二維數組print(m1)print('-'*50) # 分割線print(m1.transpose()) # 將數組轉置print('-'*50) # 分割線

運行結果

Python 用NumPy創建二維數組的案例

5 數組的組合與分隔

5.1 水平組合

hastck:將數組水平拼接到一起

用法:hastck((數組A,數組B))水平拼接數組A和B

5.2 垂直組合

vstack:將數組垂直拼接到一起

用法:vstack(數組A,數組B)垂直拼接數組A和B

5.3 水平分隔

hsplit:

用法:hsplit(數組名,x)x為分成幾部分

5.4 垂直分隔

vsplit:

用法:vsplit(數組名,x)x為分成幾部分

6 數組轉列表

.tolist:將數組轉列表

用法:數組名.tolist()

7 數組的存儲和讀取及分隔符

savetxt和loadtxt函數可將數組保存為CSV文件。CSV文件的分隔符包括空格,逗號,分號等。savetxt和loadtxt函數默認使用的時空格作為分割符,也可以用delimiter關鍵字指定分隔符。

7.1數組的存儲

savetxt

用法:savetxt(“文件名.txt”,數組名,fmt=數組格式,delimiter=’;’)

補充:數組格式可以為 整數型(%d)浮點型(%f)

from numpy import *m1 = array([arange(1,4),arange(4,7),arange(7,10),arange(10,13),arange(13,16),arange(16,19)]) # 創建6行3列的二維數組print(m1)print('-'*50) # 分割線savetxt('文件名.txt',m1,fmt=’%d’,delimiter=’;’)

運行結果1

Python 用NumPy創建二維數組的案例

運行結果2(分隔符為空格)

Python 用NumPy創建二維數組的案例

7.2數組的讀取

loadtxt

用法:新數組 = loadtxt(“文件名.txt”,dtype=‘數組格式’,delimiter=’,’)

補充:數組格式可以為 整數型(int)浮點型(float)

from numpy import *print('-'*50) # 分割線a = loadtxt('文件名.txt',dtype=int,delimiter=’;’)print(a) # 將數組轉置print('-'*50) # 分割線

運行結果

Python 用NumPy創建二維數組的案例

總結

savetxt在保存數據時也可以將普通數組中的分隔符改為空格

利用這個方法我們可以將帶有逗號的二維數組改為分隔符為空格或者分號的二維數組。

例:用列表的方法寫一個二維數組

# 二維數組創建from numpy import *num = [[0 for j in range(1,5)]for i in range(1,4)]print(num) # 打印數組print('-'*50) # 分割線num[2][1]=3 # 將第三行第二個元素修改為3print(num) # 打印數組print('-'*50) # 分割線savetxt('a.txt',num,fmt=’%d’,delimiter=’ ’) # 將數組保存為分隔符為空格的形式b = loadtxt('a.txt',dtype=int,delimiter=’ ’) # 將數組讀取出來賦給新數組print(b) # 打印新數組print('-'*50) # 分割線

運行結果

Python 用NumPy創建二維數組的案例

先將數組保存,然后讀取數組

Python 用NumPy創建二維數組的案例

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 上海办公室装修,写字楼装修—启鸣装饰设计工程有限公司 | 碳钢法兰厂家,非标法兰,定制异型,法兰生产厂家-河北九瑞管道 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 样品瓶(色谱样品瓶)百科-浙江哈迈科技有限公司 | 凝胶成像系统(wb成像系统)百科-上海嘉鹏| 代写标书-专业代做标书-商业计划书代写「深圳卓越创兴公司」 | 网站建设-临朐爱采购-抖音运营-山东兆通网络科技 | 岸电电源-60HZ变频电源-大功率变频电源-济南诚雅电子科技有限公司 | 柔性输送线|柔性链板|齿形链-上海赫勒输送设备有限公司首页[输送机] | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 学考网学历中心| 集装箱标准养护室-集装箱移动式养护室-广州璟业试验仪器有限公司 | 单柱拉力机-橡胶冲片机-哑铃裁刀-江都轩宇试验机械厂 | 电缆接头-防爆电缆接头-格兰头-金属电缆接头-防爆填料函 | ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 北京百度网站优化|北京网站建设公司-百谷网络科技 | 都江堰招聘网-都江堰人才网 都江堰人事人才网 都江堰人才招聘网 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 快速门厂家-快速卷帘门-工业快速门-硬质快速门-西朗门业 | 我爱古诗词_古诗词名句赏析学习平台| 沈阳液压泵_沈阳液压阀_沈阳液压站-沈阳海德太科液压设备有限公司 | 黑龙江「京科脑康」医院-哈尔滨失眠医院_哈尔滨治疗抑郁症医院_哈尔滨精神心理医院 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 变频器维修公司_plc维修_伺服驱动器维修_工控机维修 - 夫唯科技 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 圆周直径尺-小孔内视镜-纤维研磨刷-东莞市高腾达精密工具 | 一体式钢筋扫描仪-楼板测厚仪-裂缝检测仪-泰仕特(北京) | Win10系统下载_32位/64位系统/专业版/纯净版下载 | 深圳希玛林顺潮眼科医院(官网)│深圳眼科医院│医保定点│香港希玛林顺潮眼科中心连锁品牌 | 四合院设计_四合院装修_四合院会所设计-四合院古建设计与建造中心1 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 首页-浙江橙树网络技术有限公司 石磨面粉机|石磨面粉机械|石磨面粉机组|石磨面粉成套设备-河南成立粮油机械有限公司 | 模具钢_高速钢_不锈钢-万利钢金属材料 | 净化板-洁净板-净化板价格-净化板生产厂家-山东鸿星新材料科技股份有限公司 | 无锡装修装潢公司,口碑好的装饰装修公司-无锡索美装饰设计工程有限公司 | 模具ERP_模具管理系统_模具mes_模具进度管理_东莞市精纬软件有限公司 | 北京印刷厂_北京印刷_北京印刷公司_北京印刷厂家_北京东爵盛世印刷有限公司 | 发电机价格|发电机组价格|柴油发电机价格|柴油发电机组价格网 | 北京康百特科技有限公司-分子蒸馏-短程分子蒸馏设备-实验室分子蒸馏设备 | 培训无忧网-教育培训咨询招生第三方平台 | 轴流风机-鼓风机-离心风机-散热风扇-罩极电机,生产厂家-首肯电子 | 低温柔性试验仪-土工布淤堵-沥青车辙试验仪-莱博特(天津)试验机有限公司 |