a.加減乘除
import numpy as np
x = np.array([1, 2, 3, 4]).reshape([2, 2])
y = np.array([5.5, 6.5, 7.5, 8.5]).reshape([2, 2])
print('x = {}\n'.format(x))
print('y = {}\n'.format(y))
print('x + y = {}\n'.format(x + y))
print('add(x,y) = {}\n'.format(np.add(x, y)))
print('x - y = {}\n'.format(x - y))
print('subtract(x,y) = {}\n'.format(np.subtract(x, y)))
print('x * y = {}\n'.format(x * y))
print('multiply(x,y) = {}\n'.format(np.multiply(x, y)))
print('x / y = {}\n'.format(x / y))
print('divide(x,y) = {}\n'.format(np.divide(x, y)))
執行結果:
x = [[1 2]
[3 4]]
y = [[5.5 6.5]
[7.5 8.5]]
x + y = [[ 6.5 8.5]
[10.5 12.5]]
add(x,y) = [[ 6.5 8.5]
[10.5 12.5]]
x - y = [[-4.5 -4.5]
[-4.5 -4.5]]
subtract(x,y) = [[-4.5 -4.5]
[-4.5 -4.5]]
x * y = [[ 5.5 13. ]
[22.5 34. ]]
multiply(x,y) = [[ 5.5 13. ]
[22.5 34. ]]
x / y = [[0.18181818 0.30769231]
[0.4 0.47058824]]
divide(x,y) = [[0.18181818 0.30769231]
[0.4 0.47058824]]
b.統計學函式
import numpy as np
x = np.array([1, 2, 3, 4]).reshape([2, 2])
print()
print('x = \n', x)
print()
print('平均值:', x.mean())
print('列的平均值:', x.mean(axis=0))
print('行的平均值:', x.mean(axis=1))
print()
print('和:', x.sum())
print('列的和:', x.sum(axis=0))
print('行的和', x.sum(axis=1))
print()
print('標準差:', x.std())
print('列的標準差:', x.std(axis=0))
print('行的標準差:', x.std(axis=1))
print()
print('中值:', np.median(x))
print('列的中值:', np.median(x,axis=0))
print('行的中值:', np.median(x,axis=1))
print()
print('最大值:', x.max())
print('行的最大值:', x.max(axis=0))
print('列的最大值:', x.max(axis=1))
print()
print('最小值:', x.min())
print('列的最小值:', x.min(axis=0))
print('行的最小值:', x.min(axis=1))
執行結果:
x =
[[1 2]
[3 4]]
平均值: 2.5
列的平均值: [2. 3.]
行的平均值: [1.5 3.5]
和: 10
列的和: [4 6]
行的和 [3 7]
標準差: 1.118033988749895
列的標準差: [1. 1.]
行的標準差: [0.5 0.5]
中值: 2.5
列的中值: [2. 3.]
行的中值: [1.5 3.5]
最大值: 4
行的最大值: [3 4]
列的最大值: [2 4]
最小值: 1
列的最小值: [1 2]
行的最小值: [1 3]
a.每個元素廣播 * 3
x = np.array([1, 2, 3, 4]).reshape([2, 2])
print()
print('x = \n', x)
print()
#x中的每個元素 * 3
print('3 * x = \n', 3 * x)
執行結果:
x =
[[1 2]
[3 4]]
3 * x =
[[ 3 6]
[ 9 12]]
b.可以對倆個形狀不同ndarray做廣播,但是對形狀有限制
import numpy as np
x = np.array([1, 2, 3])
y = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
z = np.array([1, 2, 3]).reshape(3, 1)
print('x = \n', x)
print('y = \n', y)
print('z = \n', z)
print('x + y = \n', x + y)
print('z + y = \n', z + y)
執行結果:
x =
[1 2 3]
y =
[[1 2 3]
[4 5 6]
[7 8 9]]
z =
[[1]
[2][3]]
x + y =
[[ 2 4 6]
[ 5 7 9]
[ 8 10 12]]
z + y =
[[ 2 3 4]
[ 6 7 8]
[10 11 12]]
Python型別和運算 數字
在python中,數字並不是乙個真正的物件型別,而是一組相似型別的分類。不僅包括通常的數字型別 整數和浮點數 黑包括數字表示式,以及高階的數字程式設計。基本數字常量 數字 常量 1234,24 整數 無窮大小 1.23,3.14e10 浮點數 0177,0x9ff,0b1010 python2.6中...
C 算數運算子「 和 」
大家對於算數運算子應該不會陌生吧,而且加加和減減應該也知道些,但是,如果我突然問起你來了,前加加,後加加,前減減,後減減,你能快速的給我講清楚嗎?如果你不能立刻反應過來,那麼就好好看看這篇部落格,會給你講的很清楚。這個是很基礎的概念。前加加和後加加,最終的結果都是給這個變數加一 區別 前加加是獻給這...
NumPy學習筆記07 切片和索引
ndarray物件的內容可以通過索引或切片來訪問和修改,與 python 中 list 的切片操作一樣。ndarray 陣列可以基於 0 n 的下標進行索引,切片物件可以通過內建的 slice 函式,並設定 start,stop 及 step 引數進行,從原陣列中切割出乙個新陣列。import nu...