Python科学计算库(Numpy)基础篇(IDE为Pycharm)- 数组数值计算

第一篇博客已经讲了Numpy中数组的基本操作,下面开始讲Numpy中数值计算所使用的一般方法.

(1)复制与赋值

        赋值:将100赋值给第一行第一列的数

import numpy as np
# 定义一个数组
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 将100赋值给第一行,第一列的数
array[1,1] = 100
print(array)

        输出结果为:

[[  1   2   3]
 [  4 100   6]
 [  7   8   9]]

        复制:将赋值后的数组复制下来

import numpy as np
# 定义一个数组
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 将100赋值给第一行,第一列的数
array[1,1] = 100
print(array)
array0 = array.copy()
print(array0)

        输出结果为:

[[  1   2   3]
 [  4 100   6]
 [  7   8   9]]
[[  1   2   3]
 [  4 100   6]
 [  7   8   9]]

上面讲过赋值与复制了,下面开始正题

        (2)数组数值的简单计算

        数组中所有元素的求和,代码如下:

import numpy as np
# 定义一个数组
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

array0 = np.sum(array)
print(array0)

        输出结果为 45

        对一个二维数组来说,既可以对行求和,也可以对列求和,代码如下:

import numpy as np
# 定义一个数组
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 对行求和
array2 = np.sum(array, axis=1)
print(array2)
# 对列求和
array3 = np.sum(array, axis=0)
print(array3)

        输出结果为array2 = [6, 15, 24], array3 = [12, 15, 18]

        除了求和,计算的方式还有许多,直接看代码和注释

import numpy as np
# 定义一个数组
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 各个元素累乘
array4 = np.prod(array)
print(array4)
# 求元素的最小值
array5 = np.min(array)
print(array5)
# 求均值
array6 = np.mean(array)
print(array6)
# 求标准差
array7 = np.std(array)
print(array7)
# 求方差
array8 = np.var(array)
print(array8)
# 比2大的全部为2,比4大的全部为4
array9 = np.clip(array, 2, 4)
print(array9)

输出结果为:
362880
1
5.0
2.581988897471611
6.666666666666667
[[2 2 3]
 [4 4 4]
 [4 4 4]]

        所有操作原理都是相同的,如果指定维度,就参照上面的求和代码进行计算。

        如果不是找最大值或最小值的具体值是多少,而是要找到他们具体的位置,如果指定维度,就参照上面的求和代码进行计算,代码如下:

import numpy as np
# 定义一个数组
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

array10 = np.argmin(array)
print(array10)


输出结果为其具体位置:0

        (3)矩阵的乘法

        主要介绍两种常用的计算方式:一种是按照对应元素进行相乘,另一种是在数组中进行的矩阵乘法,直接看代码:

import numpy as np

x = np.array([[1, 1], [2, 2]])
y = np.array([[1, 1], [2, 2]])
# 对应位置相乘
a = np.multiply(x, y)
print(a)
# 矩阵乘法
b = np.dot(x, y)
print(b)


输出结果为:
a = [[1 1]
     [4 4]]
b = [[3 3]
     [6 6]]

猜你喜欢

转载自blog.csdn.net/LIANGQISE/article/details/121504793
今日推荐