1、numpy中常用的函式array():
用於生成numpy.ndarray型別的資料,類似於列表
mean():
此函式的主要作用是求平均值
median():
此函式主要是求陣列中的中位數
abs():
此函式求陣列中的所有元素的絕對值
exp():
此函式求陣列中的所有元素的指數結果()指數是以e為底數,元素為指數出來的值
std():
此函式主要是求標準偏差
corrcoef():
此函式主要是用於求兩列資料中是否相關
random.normal():
從一定的區間之內隨機獲取n個符合正態分佈的數值
random.normal(loc,scale,size)
引數說明:
loc: 浮點型資料。概率分布的均值。
scale: 浮點型資料。概率分布的標準差,對應於分布的寬度,scale 越大越矮胖,scale 越小,越瘦高。
size: 整型或者整型元祖,輸出的樣本數,預設為 none,只輸出乙個值。
示例:height=np.round(np.random.normal(10,15,10),2)
weight=np.round(np.random.normal(10,15,10),2)
column_stack(tuple):
tuple為乙個元組,可以把元組中的n個陣列物件生成多行n列的numpy.ndarray物件
zeros(size):
生成size個全部為0的陣列,如果size是乙個元組的話就是生成乙個多行多列的全部為0的陣列
ones(size,dtype=float):
生成size個全部為1的陣列,如果size是乙個元組的話就是生成乙個多行多列的全部為1的陣列
fill():
可以對陣列中的值進行填充,示例:
a=np.array([1,2,3,45,6])
a.fill(2.9)
print(a)
在填充的過程中陣列裡面資料的型別是根據原始的資料而定的,如果都是整數填充的時候即使填充數
是小數那麼填充的結果也是整數
arange():
和range函式一樣的使用方法
linspace(start,end,n):(左閉右閉)
生成等差數列,將start到end分成n分,start和end都會取到,最後形成乙個等差數列
random.rand(n):
隨機生成n個0——1之間(不包含1)的n個數字
random.randn(n):
隨機生成n個符合正態分佈的數值
random.randint(start,end,n):
隨機生成在start到end之間的n個整數
where(條件):
where函式是判斷陣列中的元素是否符合條件,如果有符合條件的元素會返回元素的索引,之後可以根據
索引來獲取元素
示例:import numpy as np
a=np.array([1,52,36,9,4,6,25])
a[np.where(a>10)]
sort():
對陣列進行排序,預設的是從小到大,和列表的排序類似
argsort():
對於陣列的進行排序,不過返回的值是排序之後的索引的位置,可以再根據返回值用陣列物件進行獲取排序後
的陣列transpose():
把乙個矩陣程式設計它的轉置矩陣,示例:
s=np.array([[1,2,3],[4,5,6]])
s.transpose() #這樣寫也是可以的s.t
concatenate((x,y),axis=0):
對於x,y兩個陣列進行行的拼接,示例:
d=np.array([[1, 2, 3],[1,52,36]])
s=np.array([[1,2,3],[4,5,6]])
np.concatenate((s,d),axis=1)
vstack((x,y)): #其中的v代表vertical 垂直方向
將想x和y在垂直方向進行拼接,和concatenate函式當axis為0的時候結果是等效的
hstack((x,y)): #其中的h代表horizantal 水平方向
將想x和y在垂直方向進行拼接,和concatenate函式當axis為0的時候結果是等效的
asarray():
將列表物件轉換為陣列物件
li=[1,2,3,4]
np.asarray(li) #轉換之後就是陣列物件
fromiter(x,dtype=int):
將可迭代(x)物件中的元素取出來並且生成乙個陣列物件,其中的x必須是乙個可迭代物件,dtype引數
必須給定型別,不然無法確定獲取出來的元素的型別
示例:it=iter(range(1,10)) #iter函式不是numpy中的
np.fromiter(it,dtype=int)
陣列物件,第二個是新增的值
insert(陣列物件,索引位置,值):
在陣列中插入物件,三個引數第乙個是被插入的物件,第二個是插入元素的位置,第三個是插入的值
注意:insert函式用於一維陣列,如果強制用於多維的陣列,會先把多維陣列轉換為一維之後再插入值
除此之外在numpy中還有很多常用的函式,max,min,sum等函式用法和平常一樣,也可以使用numpy呼叫,之後把
需要求的物件放在函式後面的括號中
在陣列中修改元素(類似於列表):
一維陣列中的修改元素:
a=np.array([1,2,3])
a[1]=3
print(a)
多維陣列中的修改元素:
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
a[1:,1:]=0
print(a)
2、常用的屬性
shape:
shape是乙個屬性。輸出numpy.ndarray的行和列
但是shape屬性可以進行修改,同時也是對陣列本身進行修改,示例:
d=np.array([[1, 2, 3],[1,52,36]])
d.shape=(6,1)
print(d)
d.shape=(1,6)
print(d)
以上的對於屬性的修改是直接作用於本體的,但是還有一種方式是不會對本體陣列進行修改,而是返回修改
後的乙個新的陣列,使用函式reshape(),示例:
d=np.array([[ 1, 2, 3, 1, 52, 36]])
c=d.reshape(2,3)
print(c)
dtype:
輸出陣列的型別屬性
size:
輸出元素的數量(即行和列相乘)
ndim:
檢視陣列的維度
3、陣列的特性
花式索引:
陣列獲取元素和列表是一樣的
多維陣列獲取資料的時候也是同樣的原理,在獲取時以[行,列]這樣的形式進行獲取資料
初次之外可以把需要的索引放在乙個列表中,直接使用陣列名加索引進行獲取值
示例:c=np.array([[1,2,3,5],[4,5,6,798],[8,4,25,9]])
index=[(1,2),(2,2)]
c[index]
另外可以設定陣列中的資料型別為bool,之後輸出就會把資料型別進行轉換為bool型別的
同時可以根據bool型別的陣列來獲取陣列中的值
示例:a=np.array([12,15,0,16],dtype=bool)
b=np.array([12,15,0,16])
b[a]
4、numpy中的常用數學函式
import numpy as np
np.pi:
表示數學中的π
np.sin():
求正弦值
np.cos()
求余弦值
np.tan()
求正切值
反三角函式:
np.arcsin()
around():四捨五入
floor():向下取整
ceil():向上取整
加減乘除四則運算:
比如求x=12,y=4,求x和y的四則運算以及求餘數:
np.add(x,y)——相加
np.subtract(x,y)——相減
np.multiply(x,y)——相乘
np.divide(x,y)——相除
np.mod(x,y)——取餘
排序:sort(陣列物件,axis=0)——其中陣列物件是排序的物件
argsort(陣列物件,axis=0)——對陣列的索引進行排序
numpy模組矩陣
arr1 np.random.randint 1,10,size 3,3 arr1.sort axis 0 print arr1 arr1.sort axis 1 print arr1 arr6 np.random.randint 1,10,size 10 print arr6 print arr6...
dtype函式 numpy模組
問題來了如何自學,並且獲得最權威的的解釋和用法呢?首先我們可以從numpy官網找到相關的說明,我一般會覺得從numpy user guide 或者numpy reference中搜尋有點麻煩,所以我會把自己想找的的直接放到google中,搜尋的關鍵字 numpy.dtype,直接可以找到以下鏈結 或...
Numpy模組的使用
pip install numpy i numpy numerical python 是 python語言的乙個擴充套件程式庫,支援任意維度的陣列和矩陣操作,此外也針對陣列運算提供了大量的內建方法。numpy 是乙個執行速度非常快的數學庫,主要用於陣列計算,包含 乙個強大的n維陣列物件 ndarra...