學過其他強型別語言的朋友都知道陣列是一種資料型別,它裡面的元素必須是同一種型別,類似python的列表,但是這種列表只能是同種元素。
用法numpy.array(list/tuple)
import numpy as np #重新命名numpy為np
arr = np.array([1,2,3,4,5,6])#建立一維陣列
print(arr)#[1 2 3 4 5 6]
arr = np.array([[1,2,3],[4,5,6]])#二維陣列
print(arr)
'''[[1 2 3]
[4 5 6]]
'''
#程式上下文接上文
#陣列的維數
print(arr.ndim) #2
#陣列的形狀
print(arr.shape)#(2, 3),返回乙個元祖,一維就是(2,),二維(2,3)每個數就是所對應的軸方向的元素個數,一維就是元素數,二維就是行和列....
#元素個數
print(arr.size)#6,所有的元素個數
#元素資料型別
print(arr.dtype)#int64 ,64位整數
#乙個元素所佔的位元組數
print(arr.itemsize)#8, 8個位元組,8*8=64位
#資料所在記憶體緩衝區
print(arr.data)#
與單個元素進行運算
a = np.array([1,2,3])
print(a+1)#[2 3 4] 每個元素都+1
print(a*2)#[2 4 6] 每個都乘2
#。。。其他運算都是相同的道理
次方運算
print(a**2)#每個元素平方[1 4 9]
print(a**0.5)#二分之一次方[ 1. 1.41421356 1.73205081]
陣列運算
b = np.array([1,2,3])
print(a+b)#[2, 4, 6]對應元素相加
#注意shape不同不能相運算(除單個元素這種情況)
c = np.array([1,2])
print(b+c)#報錯
'''traceback (most recent call last):
file "", line 1, in valueerror: operands could not be broadcast together with shapes (3,) (2,)
'''#單個元素的可以運算
c = array([1,])
print(b+d) #[2, 3, 4]
sum([axis])函式,axis為以哪個軸為基準求和,不傳入axis則所有元素求和,axis可以傳入從0到ndim-1
#一維
a = np.array([1,2,3])
a.sum()#1+2+3
a.sum(axis=0) #1+2+3 一維只有乙個軸(可以想象為座標軸)
'''<-----按這個方向求和
[1,2,3]
'''#二維
b = np.array([[1,2],[3,4]])
b.sum()#1+2+3+4
b.sum(axis=0)#[1+3,2+4]
'''[1,2]↑按這個方向求和,每個行對應位相加
[3,4]|
'''b.sum(axis=1)#[1+2,3+4]
'''<---按這個方向求和,每個列對應位求和
[1,2]
[3,4]
'''
一維陣列的生成
參考文件
python科學計算 numpy
畢設的程式設計中使用了python來處理資料,主要使用的是numpy包,網上大部分對numpy進行介紹的教程比較老舊,想要使用的功能不太容易找到。因此,寫這篇文章來對現有的一些資源就行整理,當然想要更全面的了解numpy的使用還是從訪問官方手冊開始。win下 pip isntall numpy當然最...
科學計算工具 Numpy
基礎類庫簡介 ndarray陣列建立 ndarray的矩陣運算 元素計算函式 元素統計函式 元素判斷函式 元素去重排序函式 資料分析概念 資料分析是指用適當的統計分析方法對收集來的大量資料進行分析,提取有用資訊和形成結論的過程。資料分析的過程 1.資料收集 本地資料或者網路資料的採集與操作.2.資料...
科學計算庫(三)numpy之ufunc
abs fabs 取絕對值。fabs 更快的速度,但不能計算複數a bj的絕對值 sqrt 平方根 square 平方 exp x 計算自然常數e的x次方 log e為底 log10 log2 log1p 以e為底,1 arr為真數,求對數 如果是其他底數的log函式可以通過換底公式轉換。log換底...