python数组数字求和_Python numpy,数组与数组的运算,sum数组元素求和,矩阵的乘法...

numpy中两个多维数组之间可以进行运算的前提是:

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]

你可能感兴趣的:(python数组数字求和)