NumPy入門基礎語法學習4

2021-10-25 10:32:12 字數 2321 閱讀 8795

陣列拼接和**

所有的操作都是針對單一陣列的,但有時也需要將多個陣列合併為

乙個,或將乙個陣列**成多個。接下來將詳細介紹這些操作。

陣列的拼接

拼接或連線

numpy

中的兩個陣列主要由

np.concatenate

、np.vstack

和 np.hstack

例程實

現。np.concatenate

將陣列元組或陣列列表作為第乙個引數,如下所示:

x = np.array([1, 2, 3]) 

y = np.array([3, 2, 1])

np.concatenate([x, y])

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

你也可以一次性拼接兩個以上陣列:

z = [99, 99, 99]

print(np.concatenate([x, y, z]))

[ 1 2 3 3 2 1 99 99 99]

np.concatenate 也可以用於二維陣列的拼接:

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

# 沿著第乙個軸拼接

np.concatenate([grid, grid])

array([[1, 2, 3],

[4, 5, 6],

[1, 2, 3],

[4, 5, 6]])

# 沿著第二個軸拼接(從0開始索引)

np.concatenate([grid, grid], axis=1)

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

[4, 5, 6, 4, 5, 6]])

沿著固定維度處理陣列時,使用

np.vstack

(垂直棧)和

np.hstack

(水平棧)函式會更簡潔:

x = np.array([1, 2, 3]) 

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

# 垂直棧陣列 np.vstack([x, grid])

array([[1, 2, 3],

[9, 8, 7],

[6, 5, 4]])

# 水平棧陣列

y = np.array([[99], [99]])

np.hstack([grid, y])

array([[ 9, 8, 7, 99],

[ 6, 5, 4, 99]])

與之類似,

np.dstack

將沿著第三個維度拼接陣列。

陣列的**

與拼接相反的過程是**。**可以通過

np.split

、np.hsplit

和 np.vsplit

函式來實現。可以向以上函式傳遞乙個索引列表作

為引數,索引列表記錄的是**點位置:

x = [1, 2, 3, 99, 99, 3, 2, 1] 

x1, x2, x3 = np.split(x, [3, 5])

print(x1, x2, x3)

[1 2 3] [99 99] [3 2 1]

值得注意的是,

n **點會得到

n + 1

個子陣列。相關的

np.hsplit

和 np.vsplit

的用法也類似:

grid = np.arange(16).reshape((4, 4)) 

grid

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

[ 4, 5, 6, 7],

[ 8, 9, 10, 11],

[12, 13, 14, 15]])

left, right = np.hsplit(grid, [2]) 

print(left)

print(right)

[[ 0 1]

[ 4 5]

[ 8 9]

[12 13]]

[[ 2 3]

[ 6 7]

[10 11]

[14 15]]

同樣,

np.dsplit

將陣列沿著第三個維度**。

NumPy入門基礎語法學習1

首先安裝好numpy以後,匯入numpy import numpy as np用如下方式建立一 個整型值列表 l list range 10 結果如下 結果如下 python 提供了幾種將資料儲存在有效的 固定型別的資料快取中的選 項。內建的陣列 array 模組 在 python 3.3 之後可用...

C 基礎語法學習(4)

如果能作為左值則返回引用,例如a b不能作為左值,a b可作為左值,a 不能作為左值,其返回乙個值,是常量,a可作為左指,返回a這個變數 2.當無法修改左運算元的類時,使用全域性變數進行過載,如 和 因為無法修改ostream和istream,只能用友元函式進行過載,若用成員函式,成員變數會作為左值...

基礎語法學習

public class hello 類名,變數名,方法名 關鍵字 以 a z a z 開頭 整數型別 byte short int long l 浮點型別 float f double 字元型別 char boolean型別 true 或 false 引用資料型別 類,介面,陣列 二進位制 0b ...