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

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

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

瀏覽:91日期: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 編程
相關文章:
主站蜘蛛池模板: 宝宝药浴-产后药浴-药浴加盟-艾裕-专注母婴调养泡浴 | 高温热泵烘干机,高温烘干热泵,热水设备机组_正旭热泵 | 不锈钢监控杆_监控立杆厂家-廊坊耀星光电科技有限公司 | 点胶机_点胶阀_自动点胶机_智能点胶机_喷胶机_点胶机厂家【欧力克斯】 | 无纺布包装机|径向缠绕包装机|缠绕膜打包机-上海晏陵智能设备有限公司 | 重庆磨床过滤机,重庆纸带过滤机,机床伸缩钣金,重庆机床钣金护罩-重庆达鸿兴精密机械制造有限公司 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 三防漆–水性三防漆–水性浸渍漆–贝塔三防漆厂家 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 电机保护器-电动机综合保护器-上海硕吉电器有限公司 | 鲁尔圆锥接头多功能测试仪-留置针测试仪-上海威夏环保科技有限公司 | 陶瓷砂磨机,盘式砂磨机,棒销式砂磨机-无锡市少宏粉体科技有限公司 | 智能化的检漏仪_气密性测试仪_流量测试仪_流阻阻力测试仪_呼吸管快速检漏仪_连接器防水测试仪_车载镜头测试仪_奥图自动化科技 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 烟气在线监测系统_烟气在线监测仪_扬尘检测仪_空气质量监测站「山东风途物联网」 | 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 瓶盖扭矩仪(扭力值检测)-百科| 北京遮阳网-防尘盖土网-盖土草坪-迷彩网-防尘网生产厂家-京兴科技 | 贴板式电磁阀-不锈钢-气动上展式放料阀-上海弗雷西阀门有限公司 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 | COD分析仪|氨氮分析仪|总磷分析仪|总氮分析仪-圣湖Greatlake | 喷砂机厂家_自动喷砂机生产_新瑞自动化喷砂除锈设备 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 山东氧化铁红,山东铁红-淄博科瑞化工有限公司 | 【中联邦】增稠剂_增稠粉_水性增稠剂_涂料增稠剂_工业增稠剂生产厂家 | 北京浩云律师事务所-法律顾问_企业法务_律师顾问_公司顾问 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | Type-c防水母座|贴片母座|耳机接口|Type-c插座-深圳市步步精科技有限公司 | 合肥白癜风医院_[治疗白癜风]哪家好_合肥北大白癜风医院 | 立式矫直机_卧式矫直机-无锡金矫机械制造有限公司 | 蓄电池回收,ups电池后备电源回收,铅酸蓄电池回收,机房电源回收-广州益夫铅酸电池回收公司 | 干法制粒机_智能干法制粒机_张家港市开创机械制造有限公司 | 皮带式输送机械|链板式输送机|不锈钢输送机|网带输送机械设备——青岛鸿儒机械有限公司 | 河南中整光饰机械有限公司-抛光机,去毛刺抛光机,精密镜面抛光机,全自动抛光机械设备 | 超声波清洗机_细胞破碎仪_实验室超声仪器_恒温水浴-广东洁盟深那仪器 | 平面钻,法兰钻,三维钻-山东兴田阳光智能装备股份有限公司 | 工控机,嵌入式主板,工业主板,arm主板,图像采集卡,poe网卡,朗锐智科 | 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | 冷却塔降噪隔音_冷却塔噪声治理_冷却塔噪音处理厂家-广东康明冷却塔降噪厂家 | 深圳市东信高科自动化设备有限公司 | 口信网(kousing.com) - 行业资讯_行业展会_行业培训_行业资料 | 钛合金标准件-钛合金螺丝-钛管件-钛合金棒-钛合金板-钛合金锻件-宝鸡远航钛业有限公司 |