一、统计运算
1.统计指标函数
min,max,mean,median,var,std
np.函数名(数组,axis=1)求每一行的
ndarray.方法(axis=0)求每一列的
0为列,1为行,(数字为维度,如shape=(4,4)的时候0表示第一个维度,1第二个维度(-1)也可)
tips:不同的API,axis轴可能也不同,根据实际情况查询
随机生成八只股票两周的交易日涨幅数据
>>> import numpy as np
>>> data=np.random.normal(loc=0,scale=1,size=(8,10))
>>> data
array([[-0.82819181, -0.94524632, 1.00261548, 1.22347942, 3.1216305 ,
1.26492343, -0.43991794, 1.15560652, -1.14764635, -0.10755365],
[ 0.10702001, 0.32275393, 0.36884494, -0.80633473, 0.10975151,
0.26445976, 2.51025557, -0.34614923, 1.61700407, 0.92735698],
[-1.52444973, 0.37116937, 0.20480437, 0.45760614, 0.58600911,
-0.03873739, 0.05557741, -0.37362175, 0.21372127, -0.21417988],
[ 0.04557212, -0.60571389, -0.4828674 , -1.3691487 , -0.78917793,
0.77271334, 0.53532935, -0.82460714, 0.14611143, -1.73388128],
[-1.39373237, 0.66582896, 0.20633859, 0.27751827, -1.21031274,
0.33675267, 0.16496407, -1.20571003, -0.63252079, 2.25212589],
[-0.7853435 , 0.45017614, 0.88711645, -0.57357384, 1.27036775,
-1.42000162, 1.47493257, 0.32056218, -0.0735568 , 0.49032614],
[-0.17759054, -1.17023642, -2.01238529, 1.74187624, -0.74469437,
1.19414198, -1.77822096, -0.40940959, 1.42971513, 1.58769954],
[ 0.37682035, -0.28473632, 1.66208163, 0.95411509, -0.64629404,
-2.09255195, 0.90873249, 0.27206528, -0.05181042, 1.96627027]])
>>> temp=data[0:4,0:4]
>>> temp
array([[-0.82819181, -0.94524632, 1.00261548, 1.22347942],
[ 0.10702001, 0.32275393, 0.36884494, -0.80633473],
[-1.52444973, 0.37116937, 0.20480437, 0.45760614],
[ 0.04557212, -0.60571389, -0.4828674 , -1.3691487 ]])
>>> np.max(temp)#最大值
1.2234794157101396
>>> np.max(temp,axis=0)
array([0.10702001, 0.37116937, 1.00261548, 1.22347942])#每一列的最大值
>>> temp.max()
1.2234794157101396
>>> temp.max(axis=1)
array([1.22347942, 0.36884494, 0.45760614, 0.04557212])#每一行的最大值
>>> np.min(temp)#最小值
-1.524449725633864
>>> temp.min()#以下ndarray.方法同理
-1.524449725633864
>>> np.mean(temp)#平均值
-0.15363042521833595
>>> np.median(temp)#中位数
0.07629606325878743
>>> np.var(temp)#方差
0.6122186110576804
>>> np.std(temp)#标准差
0.7824439986719052
统计某一支股票在某个交易日涨幅最大或者最小
(最大最小值出现的位置)
>>> np.argmax(temp,axis=1)
array([3, 2, 3, 0], dtype=int64)
>>> np.argmin(temp,axis=1)
array([1, 3, 0, 3], dtype=int64)