scipy的读书报告
SciPy 提供了复制的算法及其在 NumPy 中作为函数的用法。这将分配高级命令和多种多样的类来操作和可视化数据。
SciPy 将多个小型包整合在一起,每个包都针对单独的科学计算领域。
其中的几个子包是linalg(线性代数)、constants(物理和数学常数)和sparse(稀疏矩阵和相关例程)
值得注意的是,SciPy 为表示随机变量的对象提供了内置的构造函数。 下面是SciPy 提供的多个子包中的 Linalg 和Stats
的几个示例。由于子包是针对特点领域的。这使得SciPy成为数据科学的完美选择。
1.SciPy 中的线性代数子包(scipy.linalg)应该以下列方式导入:
1 import scipy 2 import numpy as np 3 4 from scipy import linalg 5 mat_ = np.array([[2,3,1],[4,9,10],[10,5,6]]) #创建矩阵 6 print(mat_) 7 #>[[ 2 3 1],[ 4 9 10],[10 5 6]] 8 linalg.det(mat_) #矩阵的行列式 9 inv_mat = linalg.inv(mat_) #矩阵的逆 10 print(inv_mat) 11 #>[[ 0.02409639 -0.07831325 0.12650602] 12 #[ 0.45783133 0.01204819 -0.09638554] 13 #[-0.42168675 0.12048193 0.03614458]]
2. 用于执行奇异值分解并存储各个组成部分的代码:
1 comp_1, comp_2, comp_3 = linalg.svd(mat_) 2 print(comp_1) 3 print(comp_2) 4 print(comp_3) 5 # >[[-0.1854159 0.0294175 -0.98221971] 6 # [-0.73602677 -0.66641413 0.11898237] 7 # [-0.65106493 0.74500122 0.14521585]] 8 # [18.34661713 5.73710697 1.57709968] 9 # [[-0.53555313 -0.56881403 -0.62420625] 10 # [ 0.84418693 -0.38076134 -0.37731848] 11 # [-0.02304957 -0.72902085 0.6841033 ]]
3. SciPy.stats 是一个大型子包,包含各种各样的统计分布处理函数,可用于操作不同类型的数据集。
1 from scipy import stats 2 #从平均摄动3和标准摄动5的正常摄动中随机产生大小为20的样本 3 rvs_20 = stats.norm.rvs(3,5, size = 20) 4 print(rvs_20,'\n---') 5 #以a=100, b=130为形状参数,随机变量0.41计算贝塔分布的CDF 6 cdf_ = scipy.stats.beta.cdf(0.41, a=100, b=130) 7 print(cdf_) 8 #>[-1.49288331 12.43018057 -1.98896686 2.84913596 -1.94158066 -2.53572229 9 # -3.23105148 3.49129889 6.29223385 0.57010285 1.87261406 7.0897752 10 # 2.64603964 4.81257768 7.21505841 -0.80754014 -4.14544522 -9.84438422 11 #0.43808749 2.96654881] 12 #--- 13 #0.22500957436155394
浙公网安备 33010602011771号