Python numpy,配列と配列の演算,sum配列要素の和,行列の乗算

2098 ワード

numpyの2つの多次元配列間で演算できる前提は、次のとおりです.
1、shapeは(4,3,2)shapeが(3,2)の配列と演算することができる.(次元は後から計算され、一致する)
2、shapeが(4,3,2)であってもshapeが(4,3)の配列と演算することができる.(次元は前から計算され、一致する)
意味(利点):例を挙げると、カラムごとのデータからカラムの平均値を減算した結果
 
demo.py(numpy,配列の演算):
# coding=utf-8
import numpy as np


t1 = np.array([[0, 1, 2], [3, 4, 5]])  #     
print(t1)
'''
[[0 1 2]
 [3 4 5]]
'''

#           + - * /,                  + - * /。
t2 = t1 + 5
print(t2)
'''
[[ 5  6  7]
 [ 8  9 10]]
'''
# numpy   0     ,    。  0/0  nan(      ); 1/0  inf(   ),-1/0  -inf(   )


#           + - * /,               + - * /。
t3 = np.array([[10, 11, 12], [13, 14, 15]])  #     
t4 = t1 * t3
print(t4)
'''
[[ 0 11 24]
 [39 56 75]]
'''


#          (   )+ - * /,                   + - * /。 (  :              )
t5 = np.array([6, 7, 8])  #     (   )
t6 = t1 * t5
print(t6)
'''
[[ 0  7 16]
 [18 28 40]]
'''


#               (   )+ - * /,                  + - * /。(  :             )
t7 = np.array([[50],[60]])  #          (   )
t8 = t1 * t7
print(t8)
'''
[[  0  50 100]
 [180 240 300]]
'''


demo.py(numpy,行列の乗算,np.dot():
# coding=utf-8
import numpy as np


t1 = np.array([[0, 1, 2], [3, 4, 5]])  #     (2 3 )
print(t1)
'''
[[0 1 2]
 [3 4 5]]
'''

t2 = np.array([[10, 11], [12, 13], [14, 15]])  #     (3 2 )
print(t2)
'''
[[10 11]
 [12 13]
 [14 15]]
'''

#      。       ,        
t3 = np.dot(t1, t2)
print(t3)
'''
[[ 40  43]
 [148 160]]
'''


demo.py(sum()、配列要素の合計):
# coding=utf-8
import numpy as np


t1 = np.arange(12).reshape((3,4))
print(t1)
'''
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
'''

a = np.sum(t1)  #         。 nan       nan
print(a)  # 66

b = np.sum(t1, axis=0)   # axis            
# b = t1.sum(axis=0)  #       sum()  
print(b)  # [12 15 18 21]

c = np.sum(t1, axis=1)   # axis            
print(c)  # [6 22 38]