精华Python小课 3天零基础入门——第四章笔记
Ndarray的生成和查看
import numpy as np
a = np.array([1, 2, 3, 4]) # 一维向量(4,)
b = np.array([[1, 2, 3], [4, 5, 6]]) # 二维矩阵(2, 3)
c = np.array([[1.2, 2.4], [3.4, 4.5]]) # 二维浮点数矩阵(2, 2)
d = np.array([[1, 2, 3, 4]]) # (1, 4)
e = np.array([[[1], [2], [3], [4]]]) # (4, 1)
print(a.size) # 查看ndarray的元素个数
print(a.shape) # 查看ndarray的形状
print(a.ndim) # 查看ndarray的维度
向量和矩阵的生成和numpy随机数
# numpy的广播机制
import numpy as np
m = np.random.randn(3, 3) # 生成一个符合高斯分布的3x3的矩阵
m = m + 1 # 由于广播机制的存在,这条表达式会使得m中每一个元素都加上1
m = m * 5 # 同理,这条表达式会使得m中每一个元素都乘上1
矩阵的运算,形变和拼接
向量和矩阵的索引
Numpy科学计算方法
作业
1.创建一个10*10的ndarray对象,且矩阵边界全为1,里面全为0
import numpy as np
a = np.zeros((8, 8))
b = np.ones((8, 1))
c = np.ones((1, 10))
m = np.hstack([b, a])
m = np.hstack([m, b])
m = np.vstack([c, m])
m = np.vstack([m, c])
print(m)
2.创建一个5X3随机矩阵和一个3X2随机矩阵,求矩阵积以及其最大值,最小值,平均值和标准差
import numpy as np
m_5_3 = np.random.randn(5, 3)
m_3_2 = np.random.randn(3, 2)
m = np.dot(m_5_3, m_3_2)
m_max = np.max(m)
m_min = np.min(m)
m_mean = np.mean(m)
m_std = np.std(m)
3、y=x^exp(x/3),如果y=10,求解x,(用数值法求解)
import numpy as np
x = np.linspace(0, 10, 1000)
y = x ** np.exp(x / 3)
diff = abs(y - 10)
x = x[np.argmin(diff)]