【Python】numpy中的聚合操作

    xiaoxiao2021-04-15  275

    import numpy as np x = np.random.random(100) x # 100个随机数 sum(x) # 对x求和 np.sum(x) # numpy对x求和 arr = np.random.rand(10**7) # 生成10的7次方个随机数 %timeit sum(arr) # 耗时774 ms %timeit np.sum(arr) # 耗时14 ms

     

    arr = np.random.rand(10**2) arr np.min(x) # x中的最小值 np.max(x) # x中的最大值 x.sum() # x求和,推荐用np.sum(x)方式,可清晰看出使用np提供的函数 X = np.arange(16).reshape(4, -1) X np.sum(X, axis=0) # axis是轴,axis=0是列求和,相当于Y轴 np.sum(X, axis=1) # axis=0是行求和,相当于X轴 np.prod(X + 1) # 相乘,X+1后再相乘 np.prod(X, axis=0) np.prod(X, axis=1) np.mean(X) # 求X请均值 np.mean(X, axis=0) np.mean(X, axis=1) np.median(X, axis=0) # 中位数 x = np.array([6600, 5200, 6300, 5800, 7100, 90000]) # 包含值异常高时 平均数与中位数 的区别 np.mean(x) # 平均数 20166.666666666668 np.median(x) # 中位数 6450.0 np.percentile(x, q=50) # 相当于中位数 np.median(x) np.percentile(x, q=100) # 相当于最大值 np.max(x) for i in [0, 25, 50, 75, 100]: print(i, np.percentile(x, i)) np.var(x) # 方差 np.sum((x - np.mean(x))**2)/np.size(x) np.var(x) # 方差 np.sum((x - np.mean(x))**2)/np.size(x) np.std(x) # 标准差 np.var(x) ** 0.5 np.var(x) ** 0.5 # 标准差 np.std(x),方差开一个根号 # 对于一组符合标准正态分布的数据,均值应该为0,方差应该为1 x = np.random.normal(0, 1, size=1000000) # 均值为0,标准差为1的符合正态分布的随机数 np.mean(x) # -0.0007061916752012816,约等于0 np.std(x) # 0.999246762281364,约等于1 # 统计学中更多知识自行复习

     

    注:代码来自《Python全栈工程师特训班》课程


    最新回复(0)