python中的array函數
⑴ python如何調用函數中的數組
python調用函數中的數組的方法:
在函數裡面使用global定義一個全局變數,然後將數組賦值給這個變數,調用該函數,帶有數組的的這個全局變數就可以直接使用了
示例如下:
執行結果如下:
更多Python知識,請關註:Python自學網!!
⑵ Python中numpy.array函數有啥作用呢
答: 把我們定義的普通數組轉化為Numpy中的array類型,這樣做的好處就在於可以使用該類型定義的多種數組方法,比如排序取其中的最大值或者最小值。我們就不需要從頭開始實現,直接調用相關的API就行。
⑶ numpy基礎——ndarray對象
numpy 是使用python進行數據分析不可或缺的第三方庫,非常多的科學計算工具都是基於 numpy 進行開發的。
ndarray對象是用於存放同類型元素的多維數組,是numpy中的基本對象之一,另一個是func對象。本文主要內容是: 1 、簡單介紹ndarray對象 ; 2、ndarray對象的常用屬性 ; 3、如何創建ndarray對象 ; 4、ndarray元素訪問 。
它的維度以及個維度上的元素個數由 shape 決定。
標題中的函數就是numpy的構造函數,我們可以使用這個函數創建一個ndarray對象。構造函數有如下幾個可選參數:
實例:
接下來介紹ndarray對象最常用的屬性
實例:
使用 array 函數,從常規的python列表或者元組中創建數組,元素的類型由原序列中的元素類型確定。
實例:
subok 為 True ,並且object是ndarray子類時(比如矩陣類型),返回的數組保留子類類型
某些時候,我們在創建數組之前已經確定了數組的維度以及各維度的長度。這時我們就可以使用numpy內建的一些函數來創建ndarray。
例如:函數 ones 創建一個全1的數組、函數 zeros 創建一個全0的數組、函數 empty 創建一個內容隨機的數組,在默認情況下,用這些函數創建的數組的類型都是float64,若需要指定數據類型,只需要閑置 dtype 參數即可:
上述三個函數還有三個從已知的數組中,創建 shape 相同的多維數組: ones_like 、 zeros_like 、 empty_like ,用法如下:
除了上述幾個用於創建數組的函數,還有如下幾個特殊的函數:
特別地, eye 函數的全1的對角線位置有參數k確定
用法如下:
除了上面兩個函數還有其他幾個類似的從外部獲取數據並創建ndarray,比如: frombuffer 、 fromfile 、 fromiter ,還沒用過,等用到了在詳細記錄
ndarray提供了一些創建二維數組的特殊函數。numpy中matrix是對二維數組ndarray進行了封裝之後的子類。這里介紹的關於二維數組的創建,返回的依舊是一個ndarray對象,而不是matrix子類。關於matrix的創建和操作,待後續筆記詳細描述。為了表述方便,下面依舊使用 矩陣 這一次來表示創建的二維數組。
對於一維的ndarray可以使用python訪問內置list的方式進行訪問:整數索引、切片、迭代等方式
關於ndarray切片
與內置list切片類似,形式:
array[beg:end:step]
beg: 開始索引
end: 結束索引(不包含這個元素)
step: 間隔
需要注意的是 :
特別注意的是,ndarray中的切片返回的數組中的元素是原數組元素的索引,對返回數組元素進行修改會影響原數組的值
除了上述與list相似的訪問元素的方式,ndarray有一種通過 列表 來指定要從ndarray中獲取元素的索引,例如:
多維ndarray中,每一維都叫一個軸axis。在ndarray中軸axis是非常重要的,有很多對於ndarray對象的運算都是基於axis進行,比如sum、mean等都會有一個axis參數(針對對這個軸axis進行某些運算操作),後續將會詳細介紹。
對於多維數組,因為每一個軸都有一個索引,所以這些索引由逗號進行分割,例如:
需要注意的是 :
多維數組的迭代
可以使用ndarray的 flat 屬性迭代數組中每一個元素
⑷ 對Python中數組的幾種使用方法總結
對Python中數組的幾種使用方法總結
今天小編就為大家分享一篇對Python中數組的幾種使用方法總結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
二維數組的初始化
matirx_done = [[0 for i in range(0, len(matirx))]for j in range(0, len(matirx[0]))]
就將其初始化為一個與matrix相同大小的元素全為 0 的矩陣
數組的多級排序
在數組 idea_collect = [[3, 1, 2], [3, 2, 1], [3, 2, 2], [3, 1, 1]] 中, 先按照第二項排列, 再按照第三項倒序排列 可寫為:
idea_collect.sort(key=lambda x: (x[1], -x[2]))
其中, x[1] 代表第二項正序排列, -x[2] 代表第三項倒序排列
排列結果為 [[3, 1, 2], [3, 1, 1], [3, 2, 2], [3, 2, 1]]
在一個 class 中多個函數不傳參使用同一個數組
如例所示:
class Partition:
def __init__(self):
self.num_complete = []
def partition(self, num, start, end):
self.num_compelete = num
def partition_core(self):
del self.num_compelete[0]
其中,self.num_compelete就是 class 中兩個函數同時可以直接調用的數組, 不過最好先在def __init__中聲明這個數組
以上這篇對Python中數組的幾種使用方法總結就是小編分享給大家的全部內容了
⑸ python中array函數怎麼用
導入array
調用array方法
操作數組元素
from array import array
a = array('i', [1, 2, 3, 4, 5, 6, 7])
a.append(8)
a.append(2)
print(a)
print(a.count(2))
a.pop()
print(a)
a.remove(3)
print(a)
print(a.index(5))
運行實例,查看結果
⑹ python里x=randn mat=x.T.dot 是求什麼
x=randn這個寫法是不對的。
randn是numpy里的一個生成隨機array的函數。
比如說要生成一個三行兩列的隨機array,可以這樣寫:
import numpy
x = numpy.random.randn(3,2)
像這樣:
dot(2)是點乘常數就不說了,
那個x.T.dot([1,2,3])就是x.T的
1*1+2*2+3*3=14
2*1+3*2+4*3=20
懂了木有 =。=
⑺ python中用numpy的array操作問題
c=np.vstack((a,b))
⑻ python數組求和
在數組和矩陣中使用sum: 對數組b和矩陣c,代碼b.sum(),np.sum(b),c.sum(),np.sum(c)都能將b、c中的所有元素求和並返回單個數值。
但是對於二維數組b,代碼b.sum(axis=0)指定對數組b對每列求和,b.sum(axis=1)是對每行求和,返回的都是一維數組(維度降了一維)。
而對應矩陣c,c.sum(axis=0)和c.sum(axis=1)也能實現對列和行的求和,但是返回結果仍是二維矩陣。
# 定義函數,arr 為數組,n 為數組長度,可作為備用參數,這里沒有用到。
def_sum(arr,n):
# 使用內置的 sum 函數計算。
return(sum(arr))
# 調用函數
arr=[]
# 數組元素
arr=[12,3,4,15]
# 計算數組元素的長度
n=len(arr)
ans=_sum(arr,n)
# 輸出結果
print('數組元素之和為',ans)
(8)python中的array函數擴展閱讀:
python數組使用:
python 數組支持所有list操作,包括 .pop、.insert 和 .extend。另外,數組還提供從文件,讀取和存入文件的更快的方法,列如如 .frombytes 和 .tofile,如下所示我們定義一個數組。
from array import arrayarr=array('d',(a for a in range(5)))print(arr)。
arr=array('d',(a for a in range(5)))從這個代碼中可以看出,一個數組的定義需要傳入的不只是值還有類型。
可以是(must be c, b, B, u, h, H, i, I, l, L, f or d)。
⑼ Python基礎 numpy中的常見函數有哪些
有些Python小白對numpy中的常見函數不太了解,今天小編就整理出來分享給大家。
Numpy是Python的一個科學計算的庫,提供了矩陣運算的功能,其一般與Scipy、matplotlib一起使用。其實,list已經提供了類似於矩陣的表示形式,不過numpy為我們提供了更多的函數。
數組常用函數
1.where()按條件返回數組的索引值
2.take(a,index)從數組a中按照索引index取值
3.linspace(a,b,N)返回一個在(a,b)范圍內均勻分布的數組,元素個數為N個
4.a.fill()將數組的所有元素以指定的值填充
5.diff(a)返回數組a相鄰元素的差值構成的數組
6.sign(a)返回數組a的每個元素的正負符號
7.piecewise(a,[condlist],[funclist])數組a根據布爾型條件condlist返回對應元素結果
8.a.argmax(),a.argmin()返回a最大、最小元素的索引
改變數組維度
a.ravel(),a.flatten():將數組a展平成一維數組
a.shape=(m,n),a.reshape(m,n):將數組a轉換成m*n維數組
a.transpose,a.T轉置數組a
數組組合
1.hstack((a,b)),concatenate((a,b),axis=1)將數組a,b沿水平方向組合
2.vstack((a,b)),concatenate((a,b),axis=0)將數組a,b沿豎直方向組合
3.row_stack((a,b))將數組a,b按行方向組合
4.column_stack((a,b))將數組a,b按列方向組合
數組分割
1.split(a,n,axis=0),vsplit(a,n)將數組a沿垂直方向分割成n個數組
2.split(a,n,axis=1),hsplit(a,n)將數組a沿水平方向分割成n個數組
數組修剪和壓縮
1.a.clip(m,n)設置數組a的范圍為(m,n),數組中大於n的元素設定為n,小於m的元素設定為m
2.a.compress()返回根據給定條件篩選後的數組
數組屬性
1.a.dtype數組a的數據類型
2.a.shape數組a的維度
3.a.ndim數組a的維數
4.a.size數組a所含元素的總個數
5.a.itemsize數組a的元素在內存中所佔的位元組數
6.a.nbytes整個數組a所佔的內存空間7.a.astype(int)轉換a數組的類型為int型
數組計算
1.average(a,weights=v)對數組a以權重v進行加權平均
2.mean(a),max(a),min(a),middle(a),var(a),std(a)數組a的均值、最大值、最小值、中位數、方差、標准差
3.a.prod()數組a的所有元素的乘積
4.a.cumprod()數組a的元素的累積乘積
5.cov(a,b),corrcoef(a,b)數組a和b的協方差、相關系數
6.a.diagonal()查看矩陣a對角線上的元素7.a.trace()計算矩陣a的跡,即對角線元素之和
以上就是numpy中的常見函數。更多Python學習推薦:PyThon學習網教學中心。
⑽ python中的list和array的不同之處
在Python中,list和array都可以根據索引來取其中的元素,但是list可以用append或者+來新增元素或者添加數組,而array不行。具體區別如下:
1、作用不同
list是處理一組有序項目的數據結構;
array數組存儲單一數據類型的多維數組;
2、內置數據類型
list是Python的內置數據類型;
array數組需要導入標准庫才行,不屬於內置類型;
3、數據類型是否相同
list中的數據類不必相同的,即每個元素可以是不同的數據類型;
array則是由Numpy封裝,存放的元素都是相同的數據類型;
4、運算
列表list不可以進行數學四則運算;
數組array可以進行數學四則運算;