資料科學包 初識numpy(建立 屬性 運算)

2021-10-05 10:10:19 字數 4772 閱讀 2456

三、numpy屬性

四、numpy基礎運算

2.統計數**算

3.其他基礎運算

import numpy as np

a=np.array([2,3,4],dtype=np.int64)

print(a.dtype)

>>>

int64

a=np.array([2,3,4],

[2,3,4])

a=np.zero((3,4)) #三行四列零矩陣
a=np.ones() #所有元素都是1的矩陣
a=np.arange(10,20,2) #以10起始,到20終止(不包括20),以2為步長的陣列

>>>

[10 12 14 16 18]

a=np.arange(12).reshape((3,4)) #一行十二列,重置格式為三行四列
linspace(start, stop, num=50, endpoint=true, retstep=false, dtype=none)

作用為:在指定的大間隔內,返回固定間隔的資料。他將返回「num」個等間距的樣本,在區間[start, stop]中。其中,區間的結束端點可以被排除在外。

a=np.linspace(1,10,4)

>>>

[ 1. 4. 7. 10.]

import numpy as np

array=np.array([[

1,2,

3],[

2,3,

4]])

print

(array)

>>

>[[

123]

[234

]]

ndim返回的是陣列的維度,返回的只有乙個數,該數即表示陣列的維度。

print('number of dim:',array.ndim)

>>>

number of dim: 2

print('shape:',array.shape)

>>>

shape: (2, 3)

print('size:',array.size)

>>>

size: 6

import numpy as np

a=np.array([10,20,30,40])

b=np.arange(4)

print(a)

print(b)

c = a + b

d= a-b

# c = b ** 2 # b的平方

print(c)

print(d)

對應位置相加減

[10 20 30 40]

[0 1 2 3]

[10 21 32 43]

[10 19 28 37]

e=b**2 #b陣列的每乙個元素求平方

f=10*np.sin(a) #a陣列每乙個元素的sin函式

>>>

[0 1 4 9]

[-5.44021111 9.12945251 -9.88031624 7.4511316 ]

print(c)

>>>

[ 0 20 60 120]

a=np.array([[2,4],[2,4]])

print(a)

b=np.array([[2,2],[2,2]])

c_dot=np.dot(a,b)

print(c_dot)

>>>

[[2 4]

[2 4]]

[[12 12]

[12 12]]

(2)c_dot=a.dot(b)

c_dot=a.dot(b)

print(c)

>>>

[[12 12]

[12 12]]

a=np.array([[2,4],[2,4]])

np.sum(a) #所有數字的和

np.min(a) #找到最小值

np.max(a) #找到最大值

np.mean(a,axis=0)#對於列進行計算平均值

>>>122

4[2. 4.]

a=np.array([[4,2],[3,4]])

print(np.median(a,axis=0)) #對於列取中位數

>>>

[3.5 3. ]

a=np.array([[2,4],[2,4]])

np.sum(a,axis=1)#行求和,axis=0是列

>>>

[6 6]

numpy.argmin(a,axis=none,out=none)[source]
給出axis方向最小值的下標

試驗:

import numpy as np

a=np.array([[4,2],

[0,4]])

print(np.argmin(a)) #對於列進行計算平均值

>>>

2

鋪平之後『0』所在位置就是2

除了argmin還有argmax/argmean/argmedian

cumsum(a, axis=none, dtype=none, out=none)   

a.cumsum(axis=none, dtype=none, out=none)

試驗

import numpy as np

arr=np.array([[1,2,3],[4,5,6],[7,8,9]])

#沿著axis=0軸計算

result1=arr.cumsum(0)

print(result1)

>>>

[[ 1 2 3]

[ 5 7 9]

[12 15 18]]

numpy.diff(a, n=1,axis=-1)
沿著指定軸計算第n維的離散差值 ,就是n位元素n+1位元素

import numpy as np

a= np.arange(0,12).reshape((3,4))

result=np.diff(a)

print(result)

>>>

[[1 1 1]

[1 1 1]

[1 1 1]]

返回的是陣列中,非零元素的位置。如果是二維陣列就是描述非零元素在幾行幾列,三維陣列則是描述非零元素在第幾組中的第幾行第幾列。

試驗

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 0], [6, 0, 7]])

result=np.nonzero(a)

print(result)

>>>

(array([0, 0, 0, 1, 1, 2, 2], dtype=int64), array([0, 1, 2, 0, 1, 0, 2], dtype=int64))

第乙個array描述行,第二個array描述列,我們把結果轉變下以便理解:

array([0, 0, 0, 1, 1, 2, 2]

array([0, 1, 2, 0, 1, 0, 2]

非零元素位置:(0,0)(0,1)(0,2)…

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 0], [6, 0, 7]])

result1=a.t

result2=np.transpose(a)

print(result1)

print(result2)

>>>

[[1 4 6]

[2 5 0]

[3 0 7]]

[[1 4 6]

[2 5 0]

[3 0 7]]

numpy.sort() 函式返回輸入陣列的排序副本。

numpy.sort(a, axis, kind, order)
試驗

import numpy as np

a = np.array([[8, 2, 3], [4, 5, 2], [6, 9, 7]])

print (np.sort(a))

print (np.sort(a,axis=0))

>>>

[[2 3 8]

[2 4 5]

[6 7 9]]

[[4 2 2]

[6 5 3]

[8 9 7]]

python科學計算包numpy用法(一)

numpy是python中乙個用來做科學計算的包,用起來十分方便,下面是我總結的numpy的用法 1.如何建立矩陣 建立矩陣有很多種方法,主要包括以下幾種 通過array函式建立 1 import numpy as np 2 a np.array 2,3,4 生成一維矩陣 4 array 2,3,4...

Python資料科學numpy的基礎屬性 建立

numpy是乙個底層為ndarray型別的資料科學包,特點是快速的科 算,以陣列形式存在的。通常和pandas matplotlibs合用,含有較多的統計分析函式。a np.array 20,3,24 23,4,2 print 陣列形狀 str a.shape print 陣列的軸數 str a.n...

Python基礎 資料科學入門(十)numpy庫

1.1 低效的python for迴圈 例 求100萬個數的倒數 def compute reciprocals values res for value in values 1 value return res values list range 1 10000 timeit compute re...