第40天:Python statistics 模块

简介

随着互联网的普及,整个互联网每天都会产生海量的数据,如何有效地处理这些数据成为了互联网人的必备技能,而 Python 内置的 statistics 模块提供了基本的数据统计操作。

常用功能

mean(data)

mean(data) 用于求给定序列或者迭代器的算术平均数。

import statisticsexample_list = [1,2,3,4,5,6]x = statistics.mean(example_list)print(x)
# 输出结果3.5

harmonic_mean(data)

harmonic_mean(data) 用于计算数据的调和均值。

x = statistics.harmonic_mean(example_list)print(x)print(1/sum([1/1,1/2,1/3,1/4,1/5,1/6])*6)
# 输出结果2.44897959183673472.448979591836735

median(data)

median(data) 计算数据的中位数。如果有两个中位数,则返回其平均值。

x = statistics.median(example_list)print(x)
# 输出结果3.5

median_low(data)

median_low(data) 也是用于计算中位数的,如果有两个中位数,返回较小的那个。

x = statistics.median_low(example_list)print(x)
# 输出结果3

median_high(data)

median_high(data) 也是用于计算中位数的,如果有两个中位数,返回较大的那个。

x = statistics.median_high(example_list)print(x)
# 输出结果4

mode(data)

mode(data) 计算众数,也就是序列中出现次数最多的元素。

x = statistics.mode([1,1,2,3,4,3,3,3,3])print(x)
x = statistics.mode(["a","b","c","d","d","a","a",])print(x)
# 输出结果3a

pstdev(data, mu=None)

pstdev(data, mu=None) 用于计算数据的总体标准差。其中 mu 是序列的均值,如果你已经知道了该序列的均值,可传入该参数以减少计算量,当然该函数不会去验证你传入的均值是否合法,使用错误的均值可能会产生无效的结果。

x = statistics.pstdev([2,2,2,6])print(x)
# 输出结果1.7320508075688772

pvariance(data, mu=None)

pvariance(data, mu=None) 用于计算数据的总体方差。

x = statistics.pvariance([2,2,2,6])print(x)
# 输出结果3

stdev(data, xbar=None)

stdev(data, xbar=None) 用于计算数据的样本标准差。其中 xbar 是序列的均值,如果你已经知道了该序列的均值,可传入该参数以减少计算量,当然该函数不会去验证你传入的均值是否合法,使用错误的均值可能会产生无效的结果。

x = statistics.stdev([2,2,2,6])print(x)
# 输出结果2.0

variance(data, xbar=None)

variance(data, xbar=None) 用于计算数据的样本方差。

x = statistics.variance([2,2,2,6])print(x)
# 输出结果4

statistics 总结

本文总结了 statistics 模块的常规操作,对于数据分析还是非常有益处的。

示例代码:Python-100-days-day040

参考资料

https://docs.python.org/zh-cn/3.7/library/statistics.html

系列文章

   第39天:Python itertools 模块
   第38天:Python decimal 模块

   第37天:Python math 模块

   第36天:Python calendar 模块
   第35天:pathlib 模块
   第34天:Python json&pickle

   第33天:Python 枚举

第32天:Python logging 模块详解

第31天:Python random 模块详解

第30天:Python collections 模块详解

第29天:Python queue 模块详解

第28天:Python sys 模块详解

第27天:Python shutil 模块

第26天:Python os 模块详解

第25天:Python datetime 和 time

第24天:Python Standard Library 02

第23天:Python Standard Library 01

第22天:Python NameSpace & Scope

第21天:Web开发 Jinja2模板引擎

第0-20天:从 0 学习 Python 0-20 天合集

(0)

相关推荐

  • 【博文连载】Median_Filter均值滤波算法的实现

    ChinaAET<电子应用技术>出版过一篇值得参考的<基于FPGA的实时中值滤波器的硬件实现>,该文采用FPGA+SRAM实现了实时中值滤波,思维值得参考(当然Bingo认为实 ...

  • Kmeans聚类算法详解

    输入:样本集 D = { x 1 , x 2 , x 3 , . . . , x m } D=\left \{ x_{1},x_{2},x_{3},...,x_{m} \right \} D={x1​ ...

  • Python做简单爬虫(urllib.request怎么抓取https以及伪装浏览器访问的方法)

    一:抓取简单的页面: 用Python来做爬虫抓取网站这个功能很强大,今天试着抓取了一下百度的首页,很成功,来看一下步骤吧 首先需要准备工具: 1.python:自己比较喜欢用新的东西,所以用的是Pyt ...

  • 过滤线粒体基因表达过高的细胞

    因为损坏细胞和死细胞常表现出过大量的线粒体污染,因此需要过滤高线粒体基因表达的细胞.过滤原则为,移去线粒体基因表达比例过高的细胞,但是不能大量丢失样本细胞信息. library(Seurat) lib ...

  • python笔记46-史上最强大最好用的python日志模块nb_log

    前言 python的日志模块如何封装一值都是一个头疼的问题,封装的不好总是会出现重复打印等头疼问题. 现在终于找到一个最好用的日志模块nb_log,此日志模块由这位大佬开发的https://www.c ...

  • python random模块

    本篇介绍比较常用的一个标准模块,random. 这是一个随机数模块,可以用来随机生成随机数,经常被用于数学.游戏.算法等等上面. 1.导入random模块 要使用此模块,要先导入. import ra ...

  • python logging模块的几点总结

    http://www.voidcn.com/article/p-ctmbnbwp-bbo.html 关于使用python logging模块的几点总结 使用python的标准日志模块logging可以 ...

  • 第26天:Python os 模块详解

    第26天:Python os 模块详解

  • 第27天:Python shutil 模块

    shutil 可以看作 sh + util,即 shell 工具之意,该模块提供了一些针对文件和文件夹的高级操作,如:拷贝.删除.移动等,shutil 模块是对 os 模块的补充. 1 文件和文件夹操 ...

  • 第29天:Python queue 模块详解

    queue 模块即队列,特别适合处理信息在多个线程间安全交换的多线程程序中.下面我们对 queue 模块进行一个详细的使用介绍. 1 queue 模块定义的类和异常 queue 模块定义了以下四种不同 ...

  • 第30天:Python collections 模块

    第30天:Python collections 模块

  • 第31天:Python random 模块

    在本节中继续介绍 Python 提供的常用模块 random 模块,它的主要功能是用来生成伪随机数的. random 模块 Python 提供的 random 模块实现了各种分布式的伪随机数生成器.该 ...

  • 第32天:Python logging 模块详解

    This module defines functions and classes which implement a flexible event logging system for applic ...