结合金融场景演示NumPy模块的操作(三)
注意,NumPy 是 Python 的外部模块,因此使用时需要导入并且查看相应的版本信息,具体代码如下:
>>>import numpy as np #导入NumPy模块,以np命名,因此后续使用该模块的功能时要用np而不是numpy
>>>np.__version__ #查看NumPy的版本号
'1.18.1'
一、数组内的相关运算
数组的运算可分为数组内的运算、数组间的运算以及矩阵的操作。接下来会一一介绍。
(一)数组内的运算
继续引用上篇例1,有:
>>>return_list = [0.003731,0.021066,-0.004854,0.006098,-0.006060,-0.001838,0.001842,-0.016544,-0.003738,0.003752,-0.003087,-0.000344,-0.033391,0.007123,0.004597,-0.024112,0.011704,-0.029563,-0.014570,0.016129]
>>>return_array = np.array(return_list) #转化为一维数组
>>>return_array = return_array.reshape(4,5) #运用reshape(),转化为4行5列的二维数组
>>>return_array
array([[ 0.003731, 0.021066, -0.004854, 0.006098, -0.00606 ],
[-0.001838, 0.001842, -0.016544, -0.003738, 0.003752],
[-0.003087, -0.000344, -0.033391, 0.007123, 0.004597],
[-0.024112, 0.011704, -0.029563, -0.01457 , 0.016129]])
1.求和
sum函数可用于对数组的内部元素求和,并且有参数axis=0或者axis=1可以输入,其中,axis=0代表按列求和,axis=1代表按行求和,如果不输入参数,则表示对所有元素求和。
例:投资者按照return_array数组中的列、行分别求和,具体代码如下:
>>>return_array.sum(axis=0) #按列求和
array([-0.025306, 0.034268, -0.084352, -0.005087, 0.018418])
>>>return_array.sum(axis=1) #按行求和
array([ 0.019981, -0.016526, -0.025102, -0.040412])
>>>return_array.sum() #求全部元素之和
-0.062059
2.求乘积
prod函数可用于对数组的内部元素求乘积,同时,输入参数axis=0代表按列求乘积,axis=1代表按行求乘积,如果不输入参数,则表示对所有元素求乘积。
例:投资者按照return_array数组中的列、行分别求乘积,具体代码如下:
>>>return_array.prod(axis=0) #按列求乘积
array([-5.10435205e-10, -1.56230010e-10, 7.92717092e-08, 2.36564304e-09,
-1.68584406e-09])
>>>return_array.prod(axis=1) #按行求乘积
array([ 1.40983129e-11, -7.85557141e-13, -1.16107947e-12, -1.96057312e-09])
>>>return_array.prod() #求全部元素乘积
-2.521099098076826e-44
注意,输出结果中,e-n代表10**(-n)。
3.求最值
max函数可用于对数组内部元素求最大值,min函数则可用于求最小值。同时,输入参数axis=0代表按列求最值,axis=1代表按行求最值,如果不输入参数,则表示对所有元素求最值。
例:投资者按照return_array数组中的列、行分别求最大值和最小值,具体代码如下:
>>>return_array.max(axis=0) #按列求最大值
array([ 0.003731, 0.021066, -0.004854, 0.007123, 0.016129])
>>>return_array.max(axis=1) #按行求最大值
array([0.021066, 0.003752, 0.007123, 0.016129]