6 替換array中的元素,并賦值給新的array
例如:
輸入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 % 2 == 1 , -1 , arr)
print(out)
print(arr)
輸出:
[ 0 -1 2 -1 4 -1 6 -1 8 -1]
[0 1 2 3 4 5 6 7 8 9]
7 如何改變array的形狀
例如:
輸入arr=np.arange(10)
輸出array([[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]])
arr=np.arange(10)
arr.reshape(2, -1)
輸出
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
8 如何垂直堆疊兩個array
例如:
輸入a = np.arange(10).reshape(2,-1),b = np.repeat(1, 10).reshape(2,-1)
輸出> array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1]])
a = np.arange(10).reshape(2,-1)
b = np.repeat(1, 10).reshape(2,-1)
np.concatenate([a, b], axis=0)
輸出
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1]])
你也可以通過以下操作實現(xiàn)。但上面的方式更通用。
np.vstack([a, b])
np.r_[a, b]
9 如何水平堆疊兩個array
例如:
輸入a = np.arange(10).reshape(2,-1),b = np.repeat(1, 10).reshape(2,-1)
輸出
array([[0, 1, 2, 3, 4, 1, 1, 1, 1, 1],
[5, 6, 7, 8, 9, 1, 1, 1, 1, 1]])
a = np.arange(10).reshape(2,-1)
b = np.repeat(1, 10).reshape(2,-1)
np.concatenate([a, b], axis=1)
輸出
array([[0, 1, 2, 3, 4, 1, 1, 1, 1, 1],
[5, 6, 7, 8, 9, 1, 1, 1, 1, 1]])
你也可以通過以下操作實現(xiàn)。但上面的方式更通用。
np.hstack([a, b])
np.c_[a, b]
10 如何通過numpy的內(nèi)建函數(shù)實現(xiàn)如下操作
輸入a = np.array([1,2,3])
輸出array([1, 1, 1, 2, 2, 2, 3, 3, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3])
a = np.array([1,2,3])
np.repeat(a, 3), np.tile(a, 3)
輸出
(array([1, 1, 1, 2, 2, 2, 3, 3, 3]), array([1, 2, 3, 1, 2, 3, 1, 2, 3]))
現(xiàn)在你知道了repeat和tile的區(qū)別,接下來就可以進(jìn)行如下操作完成任務(wù)了
np.r_[np.repeat(a, 3), np.tile(a, 3)]
輸出
array([1, 1, 1, 2, 2, 2, 3, 3, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3])