numpy必知必會 第三天

2022-07-11 07:30:12 字數 2202 閱讀 4112

例如:

輸入a = np.array([1,2,3,2,3,4,3,4,5,6]),b = np.array([7,2,10,2,7,4,9,4,9,8])

輸出array([2, 4])

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

b = np.array([7,2,10,2,7,4,9,4,9,8])

np.intersect1d(a,b)

輸出:

array([2, 4])

例如:輸入a = np.array([1,2,3,4,5]),b = np.array([5,6,7,8,9])

輸出array([1,2,3,4])

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

b = np.array([5,6,7,8,9])

np.setdiff1d(a,b)

輸出

array([1,2,3,4])

例如:輸入a = np.array([1,2,3,2,3,4,3,4,5,6]),b = np.array([7,2,10,2,7,4,9,4,9,8])

輸出(array([1, 3, 5, 7]),)

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

b = np.array([7,2,10,2,7,4,9,4,9,8])

np.where(a == b)

輸出:

(array([1, 3, 5, 7]),)

注意比較的兩個array的長度必須一致!

例如:輸入a = np.array([2, 6, 1, 9, 10, 3, 27])

輸出(array([6, 9, 10]),)

a = np.array([2, 6, 1, 9, 10, 3, 27])

index = np.where((a >= 5) & (a <= 10))

a[index]

輸出

array([ 6,  9, 10])

還可以用以下方式實現:

index = np.where(np.logical_and(a>=5, a<=10))

a[index]

a[(a >= 5) & (a <= 10)]

例如:輸入

def maxx(x, y):

"""get the maximum of two items"""

if x >= y:

return x

else:

return y

maxx(1, 5)

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

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

pair_max(a, b)

先介紹一下numpy.vectorize

numpy.vectorize(pyfunc, otypes=none, doc=none, excluded=none, cache=false, signature=none)

parameters:

pyfunc :python函式或方法 otypes : 輸出資料型別。必須將其指定為乙個typecode字串或乙個資料型別說明符列表。每個輸出應該有乙個資料型別說明符。 doc : 函式的docstring。如果為none,則docstring將是 pyfunc.doc。

簡單說就是把pyfunc的處理結果放到乙個array中,組成向量。

def

maxx(x, y):

"""獲得兩個array中的最大值

"""if x >=y:

return

x

else

:

return

ypair_max = np.vectorize(maxx, otypes=[float])

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

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

pair_max(a, b)

輸入

array([6., 7., 9., 8., 9., 7., 5.])

Numpy學習第三天

numpy.ndarray.shape import numpy as np x np.array 1 2,3 4,5 6,7 8 print x.shape 8,x.shape 2 4 print x 1 2 3 4 5 6 7 8 bumpy.ndarray.flat可以將陣列轉化為乙個一維陣列...

numpy必知必會 第二天

例如 輸入arr np.array 0,1,2,3,4,5,6,7,8,9 輸出out為array 0,1,2,1,4,1,6,1,8,1 arr為array 0,1,2,3,4,5,6,7,8,9 arr np.array 0,1,2,3,4,5,6,7,8,9 out np.where arr ...

MySQL必知必會(三)

sql還允許建立子查詢,即巢狀在其他查詢中的查詢。包含子查詢的select語句難以閱讀和除錯,特別是它們較為複雜時更是如此。但是,將子查詢分解為多行並且適當地進行縮排,能極大地簡化子查詢的使用。子查詢的數目沒有限制,不過在實際使用中由於效能的限制,不巢狀太多的子查詢。逐漸增加子查詢來建立查詢。什麼是...