主頁 > 知識(shí)庫 > Python 用NumPy創(chuàng)建二維數(shù)組的案例

Python 用NumPy創(chuàng)建二維數(shù)組的案例

熱門標(biāo)簽:鄭州智能外呼系統(tǒng)中心 400電話 申請(qǐng) 條件 賓館能在百度地圖標(biāo)注嗎 北京外呼電銷機(jī)器人招商 電銷機(jī)器人 金倫通信 crm電銷機(jī)器人 汕頭電商外呼系統(tǒng)供應(yīng)商 云南地圖標(biāo)注 南京crm外呼系統(tǒng)排名

前言

上位機(jī)實(shí)戰(zhàn)開發(fā)先放一放,今天來學(xué)習(xí)一個(gè)新的內(nèi)容—NumPy的使用

1 一維數(shù)組

例:用普通方法生成一維數(shù)組

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

運(yùn)行結(jié)果

例:用numpy生成一維數(shù)組

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

運(yùn)行結(jié)果

2 二維數(shù)組

例:用普通方法生成二維數(shù)組

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

運(yùn)行結(jié)果

例:用numpy生成二維數(shù)組

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

運(yùn)行結(jié)果

通過上圖發(fā)現(xiàn),用普通方法創(chuàng)建的數(shù)組分隔符有逗號(hào),而numpy創(chuàng)建的數(shù)組分隔符默認(rèn)為空格。

3 二維數(shù)組的分片

請(qǐng)看程序注釋以及結(jié)果對(duì)照

from numpy import *
m1 = array([arange(1,4),arange(4,7),arange(7,10),arange(10,13),arange(13,16),arange(16,19)]) # 創(chuàng)建6行3列的二維數(shù)組
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

運(yùn)行結(jié)果

4 數(shù)組維度的操作

.reshape:將一維數(shù)組變成多維數(shù)組

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

from numpy import *
m1 = array([arange(1,9)]) # 創(chuàng)建一維數(shù)組
print(m1)
print("-"*50) # 分割線
print(m1.reshape(2,2,2)) # 將一維數(shù)組轉(zhuǎn)為三維數(shù)組
print("-"*50) # 分割線

運(yùn)行結(jié)果

.ravel或flatten:將多維數(shù)組變?yōu)橐痪S數(shù)組

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

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

運(yùn)行結(jié)果

.shape:將 高維數(shù)組 轉(zhuǎn)換成 低維數(shù)組

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

.transpose:將數(shù)組進(jìn)行轉(zhuǎn)置

用法:數(shù)組名.transpose()

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

運(yùn)行結(jié)果

5 數(shù)組的組合與分隔

5.1 水平組合

hastck:將數(shù)組水平拼接到一起

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

5.2 垂直組合

vstack:將數(shù)組垂直拼接到一起

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

5.3 水平分隔

hsplit:

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

5.4 垂直分隔

vsplit:

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

6 數(shù)組轉(zhuǎn)列表

.tolist:將數(shù)組轉(zhuǎn)列表

用法:數(shù)組名.tolist()

7 數(shù)組的存儲(chǔ)和讀取及分隔符

savetxt和loadtxt函數(shù)可將數(shù)組保存為CSV文件。CSV文件的分隔符包括空格,逗號(hào),分號(hào)等。savetxt和loadtxt函數(shù)默認(rèn)使用的時(shí)空格作為分割符,也可以用delimiter關(guān)鍵字指定分隔符。

7.1數(shù)組的存儲(chǔ)

savetxt

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

補(bǔ)充:數(shù)組格式可以為 整數(shù)型(%d)浮點(diǎn)型(%f)

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

運(yùn)行結(jié)果1

運(yùn)行結(jié)果2(分隔符為空格)

7.2數(shù)組的讀取

loadtxt

用法:新數(shù)組 = loadtxt(“文件名.txt”,dtype=‘?dāng)?shù)組格式',delimiter=',')

補(bǔ)充:數(shù)組格式可以為 整數(shù)型(int)浮點(diǎn)型(float)

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

運(yùn)行結(jié)果

總結(jié)

savetxt在保存數(shù)據(jù)時(shí)也可以將普通數(shù)組中的分隔符改為空格

利用這個(gè)方法我們可以將帶有逗號(hào)的二維數(shù)組改為分隔符為空格或者分號(hào)的二維數(shù)組。

例:用列表的方法寫一個(gè)二維數(shù)組

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

運(yùn)行結(jié)果

先將數(shù)組保存,然后讀取數(shù)組

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • numpy 聲明空數(shù)組詳解
  • Numpy將二維數(shù)組添加到空數(shù)組的實(shí)現(xiàn)
  • 在NumPy中創(chuàng)建空數(shù)組/矩陣的方法
  • NumPy實(shí)現(xiàn)ndarray多維數(shù)組操作
  • 如何在向量化NumPy數(shù)組上進(jìn)行移動(dòng)窗口
  • 如何將numpy二維數(shù)組中的np.nan值替換為指定的值
  • 解決numpy數(shù)組互換兩行及賦值的問題
  • python 將numpy維度不同的數(shù)組相加相乘操作
  • python numpy.power()數(shù)組元素求n次方案例
  • Numpy ndarray 多維數(shù)組對(duì)象的使用
  • 淺談Python numpy創(chuàng)建空數(shù)組的問題

標(biāo)簽:浙江 昆明 文山 石家莊 西寧 懷化 梅州 錫林郭勒盟

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python 用NumPy創(chuàng)建二維數(shù)組的案例》,本文關(guān)鍵詞  Python,用,NumPy,創(chuàng)建,二維,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python 用NumPy創(chuàng)建二維數(shù)組的案例》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python 用NumPy創(chuàng)建二維數(shù)組的案例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章