聚合操作

import numpy as np

L=np.random.random(100)
L
array([6.40912934e-01, 6.68707312e-01, 3.34817109e-01, 6.30394721e-01,
       1.33956105e-01, 5.77271515e-01, 6.48859014e-01, 5.07756100e-01,
       9.32359865e-03, 7.92954838e-01, 6.27917762e-01, 8.50336965e-01,
       2.40358614e-01, 3.41050480e-01, 6.65260877e-01, 3.18950655e-02,
       3.00673031e-01, 9.27826583e-01, 2.05861208e-01, 7.33610830e-01,
       3.61208111e-02, 9.32883308e-01, 2.38428809e-01, 5.89047404e-01,
       3.47473823e-01, 3.67105653e-01, 1.30058476e-03, 1.59895273e-01,
       4.58360452e-01, 1.95779715e-04, 8.93418797e-01, 1.85457181e-02,
       3.71156107e-01, 5.20282142e-01, 1.36484920e-01, 4.38857565e-01,
       1.03275714e-02, 4.03485916e-01, 6.75369123e-01, 4.89373844e-01,
       7.04879473e-01, 9.49022821e-01, 8.34890126e-01, 3.76801980e-01,
       4.28500622e-01, 2.62809258e-01, 5.23769311e-01, 9.28819885e-01,
       7.63581830e-01, 3.25866298e-02, 5.51025883e-01, 5.35687967e-01,
       3.39079879e-01, 2.59346840e-01, 7.68451174e-01, 3.96283705e-01,
       2.30806644e-01, 9.95081769e-01, 4.43257664e-01, 2.26709949e-01,
       5.91877109e-01, 2.20734191e-01, 1.78324415e-01, 7.09976504e-01,
       1.50176596e-01, 8.61794981e-01, 7.05957604e-01, 2.35726863e-01,
       1.91863521e-01, 8.03723376e-01, 2.94690054e-01, 5.84773442e-01,
       7.28967637e-01, 9.10776044e-01, 1.96923346e-01, 4.83698087e-01,
       8.06441846e-01, 9.54663309e-01, 3.57682219e-01, 6.97190492e-01,
       6.82302385e-01, 3.20093123e-01, 3.42721050e-01, 6.85886395e-01,
       8.67474233e-01, 4.06543995e-01, 7.42878119e-01, 6.25685640e-01,
       4.27487322e-01, 4.60038125e-01, 9.28615336e-01, 3.93480542e-01,
       4.54296195e-01, 1.17550075e-01, 2.22505188e-01, 9.87210073e-01,
       2.53840068e-01, 3.08736344e-01, 4.47973833e-01, 8.46861898e-01])
sum(L)
48.69739325141593
np.sum(L)
48.69739325141593
big_array=np.random.rand(1000000)
%timeit sum(big_array)
%timeit np.sum(big_array)
302 ms ± 32.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
1.12 ms ± 22.4 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
np.min(big_array)
6.792467711624894e-07
np.max(big_array)
0.9999979467731644
big_array.max()
0.9999979467731644
big_array.sum()
500255.9883044571
X=np.arange(16).reshape(4,-1)
X
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])
np.sum(X)
120
np.sum(X, axis=0) #每一列的和
array([24, 28, 32, 36])
np.sum(X, axis=1) #每一行的和
array([ 6, 22, 38, 54])
np.prod(X)
0
np.prod(X+1) %python不用担心整形溢出
2004189184
np.mean(X)
7.5
np.median(X)
7.5
v=np.array([1,1,2,2,10])
np.mean(v)
3.2
np.median(v)
2.0
np.percentile(big_array,q=50)
0.5002877203077256
np.median(big_array)
0.5002877203077256
np.percentile(big_array,q=100)
0.9999979467731644
np.max(big_array)
0.9999979467731644
for percent in [0,25,50,75,100]:   ##统计中很多绘图用这几个数据
    print(np.percentile(big_array,q=percent))
6.792467711624894e-07
0.25028904658519036
0.5002877203077256
0.7502613491753023
0.9999979467731644
np.var(big_array) #方差
0.08327892606438625
np.std(big_array) #标准差
0.2885808830542769
x=np.random.normal(0,1,size=1000000)
np.mean(x)
0.0007654919189879631
np.std(x)
0.9986988097009861

更多推荐

[云炬python3玩转机器学习笔记] 3-8Numpy中的聚合运算