04 陣列運算

2021-10-07 02:48:42 字數 2372 閱讀 2182

import numpy as np

arr = np.array([[

1,2,

3],[

4,5,

6]])

arr

>>

> array(

[[1, 2, 3],

[4, 5, 6]

])

arr *

2

>>

> array(

[[ 2, 4, 6],

[ 8, 10, 12]

])

arr +

2

>>

> array(

[[3, 4, 5],

[6, 7, 8]

])

arr + arr
>>

> array(

[[ 2, 4, 6],

[ 8, 10, 12]

])

>>

> array(

[[ 1, 4, 9],

[16, 25, 36]

])

arr - arr
>>

> array(

[[0, 0, 0],

[0, 0, 0]

])

arr / arr
>>

> array(

[[1., 1., 1.],

[1., 1., 1.]

])

arr
>>

> array(

[[1, 2, 3],

[4, 5, 6]

])

# *=、+=運算會修改原物件,而不是建立新物件

arr *=

2arr

>>

> array(

[[ 2, 4, 6],

[ 8, 10, 12]

])

# shape相同的陣列之間比較會生成布林陣列

arr2 = arr +

1arr2 > arr

>>

> array(

[[ true, true, true],

[ true, true, true]

])

# 不同型別的陣列計算之後的結果的型別會向上轉換為更精確的型別(如int型別的陣列a和float型別的陣列b求和得到c的型別為float,而不是int)

int_arr = np.array([1

,2,3

])float_arr = np.array(

[0.1

,0.2

,0.3])

res_arr = int_arr + float_arr

res_arr.dtype

>>

> dtype(

'float64'

)

# 形狀不同的陣列之間能否進行計算?

arr1 = np.array([1

,2,3

])arr2 = np.array([1

,2,3

,4])

arr1 + arr2

valueerror traceback (most recent call last)

in()

3 arr2 = np.array(

[1, 2, 3, 4]

) 4

----> 5 arr1 + arr2

valueerror: operands could not be broadcast together with shapes (3,)

(4,)

arr3 = np.array([[

1,2,

3],[

1,2,

3]])

arr1 + arr3

>>

> array(

[[2, 4, 6],

[2, 4, 6]

])

04陣列 字元陣列

陣列 相同資料型別的成員組成的一組資料。陣列是一種構造型別,相同資料型別組成的新資料型別。一維陣列的定義 型別說明符 陣列名 常量表示式 值 1,值 2.int a 5 int b 5 int c char str iphone5 陣列元素的訪問 陣列元素在陣列中的序號,從 0 開始,下標可以是常量...

04陣列 字元陣列

陣列 相同資料型別的成員組成的一組資料。陣列是一種構造型別,相同資料型別組成的新資料型別。一維陣列的定義 型別說明符 陣列名 常量表示式 值 1,值 2.int a 5 int b 5 int c char str iphone5 陣列元素的訪問 陣列元素在陣列中的序號,從 0 開始,下標可以是常量...

Python基礎04 運算

python的運算子和其他語言類似 我們暫時只了解這些運算子的基本用法,方便我們展開後面的內容,高階應用暫時不介紹 print 1 9 加法 print 1.3 4 減法 print 3 5 乘法 print 4.5 1.5 除法 print 3 2 乘方 print 10 3 求餘數 判斷是真還是...