numpy 相關函式使用

2021-10-10 15:24:55 字數 1280 閱讀 7759

首先強調一下,where()函式對於不同的輸入,返回的值是不同的。

1、當陣列是一維陣列時,返回的值是一維的索引,所以只有一組索引陣列

2、當陣列是二維陣列時,滿足條件的陣列值返回的是值的位置索引,因此會有兩組索引陣列來表示值的位置,下面舉例說明:

import numpy as np

a=np.reshape(np.arange(20),(4,5))

aarray([[ 0, 1, 2, 3, 4],

[ 5, 6, 7, 8, 9],

[10, 11, 12, 13, 14],

[15, 16, 17, 18, 19]])

b = np.where(a>10)

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

b[0][:]

array([2, 2, 2, 2, 3, 3, 3, 3, 3], dtype=int64)

b[0]

array([2, 2, 2, 2, 3, 3, 3, 3, 3], dtype=int64)

b[1]

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

a是乙個二維陣列,b就是返回的索引,索引分為行索引和列索引兩個部分,b[0]是行索引,b[1]是列索引。

他的功能是重複某個陣列。比如tile(a,n),功能是將陣列a重複n次,構成乙個新的陣列.例子:

import numpy as np

a = [1,2,3]

b = np.tile(a, (1, 4))

barray([[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]])

b = np.tile(a, 4)

barray([1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3])

d = np.tile(a, (2, 4))

darray([[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],

[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]])

從上面的例子我們可以看到,其中b = np.tile(a, (1, 4))生成的是乙個二維陣列,而b = np.tile(a, 4)生成的是乙個一維陣列,都是把a重複4次。

numpy函式的使用

import numpy as np np.array 1,2,3 np.array 1,2,3 4,5,6 注意 import matplotlib.pylab as plt 讀取二進位制資料 img arr plt.imread img dir 將展示 plt.imshow img arr 將所...

Numpy(3) 線性代數相關函式

numpy.linalg 中有一組標準的矩陣分解運算以及諸如求逆和行列式之類的東西 np.linalg.diag 以一維陣列的形式返回方陣的對角線 或非對角線 元素,或將一維陣列轉換為方陣 非對角線元素為0 矩陣b的第二維大小,必須等於矩陣c的第一維大小 d b.dot c 等價於 np.dot b...

numpy 中 newaxis函式的使用

newaxis表示增加乙個新的座標軸,不好理解,看例子就明白了 import numpy as np a np.array 1,2,3 print a.shape,n a 結果為 3,1 2 3 看下面的 a np.array 1,2,3 np.newaxis print a.shape,n a 3...