#(1)amax(),amin() 作用:计算数组中的元素沿指定轴的最大值,最小值
import numpy as np
x = np.random.randint(1,11,9).reshape((3,3))
print(x)
#output:
[[ 9 1 2]
[ 5 2 6]
[10 10 3]]
print(np.amin(x,0))
#每一列的最小值
print(np.amin(x,1))
#每一行的最小值
print(np.amax(x,0))
#每一列的最大值
print(np.amax(x,1))
#每一行的最大值
#output:
[5 1 2]
[1 2 3]
[10 10 6]
[ 9 6 10]
#(2)ptp() 作用:计算数组中元素最大值与最小值的差(最大值-最小值)
import numpy as np
x = np.random.randint(1,11,9).reshape((3,3))
print(x) print(np.ptp(x)) print(np.ptp(x,0)) print(np.ptp(x,1))
#output:
[[10 6 2]
[ 2 10 10]
[ 6 5 10]]
8
[8 5 8]
[8 8 5]
#(3)percentile() 原型:numpy.percentile(a,p,axis) #a为数组 p为要计算的百分位数,在0~100之间,axis:沿着它计算百分比的轴 作用:百分位数是统计中使用的度量,表示小于这个值的观察值的百分比
x = np.array([[10,7,4],[3,2,1]])
print(x)
print(np.percentile(x,50))
print(np.percentile(x,50,axis=0))
print(np.percentile(x,50,axis=1))
(10+3)/2=6.5
#output:
[[10 7 4]
[ 3 2 1]]
3.5
[6.5 4.5 2.5]
[7. 2.]
#(4)median() 作用:算数组中元素的中位数(中值)
import numpy as np
x = np.array([[30,65,70],[80,95,10],[50,90,60]])
print(x)
print("\n") print(np.median(x))
print(np.median(x,axis=0))
print(np.median(x,axis=1))
#(5)mean() 作用:返回数组中元素的算数平方根
import numpy as np
x = np.arange(1,10).reshape((3,3))
print("x数组:")
print(x)
print("\n") print(np.mean(x))
print(np.mean(x,axis=0))
print(np.mean(x,axis=1))
#output:
x数组:
[[1 2 3]
[4 5 6]
[7 8 9]] 5.0
[4. 5. 6.]
[2. 5. 8.]
#(6)average()作用:根据在另一个数组中给出的各自权重计算数组中的元素的加权平均值,可以接受一个轴参数。如果没有指定轴,则数组会被展开
import numpy as np
x = np.array([1,2,3,4])
print(x)
print(np.average(x))
wts = np.array([4,3,2,1])
print(np.average(x,weights=wts))
#如果return 参数为true,则返回权重的和
print("权重的和:")
print(np.average([1,2,3,4],weights=[4,3,2,1],returned=True)) x = np.array([0,1,2,3,4,5]).reshape((3,2))
print(x)
wts = np.array([3,5])
print(np.average(x,axis=1,weights=wts))
#(0*3+1*5)/(3+5)=5/8=0.625
#output:
[1 2 3 4]
2.5
2.0
权重的和:
(2.0, 10.0)
[[0 1]
[2 3]
[4 5]]
[0.625 2.625 4.625]
#(7)标准差 公式: std = sqrt(mean((x-x.mean())**2))
如果数组是[1,2,3,4],则其平均值为2.5,因此,差的平方是[2.25,0.25,0.25,2.25],并且其平均值的平方根除以4,即sqrt(5/4),结果为1.118033........
x = np.array([1,2,3,4])
print(x)
x - np.mean(x)
1.5*1.5
0.5*0.5
y = np.array([2.25,0.25,0.25,2.25])
np.mean(y)
np.sqrt(1.25)
#也即
import numpy as np
print(np.std([1,2,3,4]))
#output:
[1 2 3 4]
1.118033988749895
#(8)方差. mean((x-x.mean())**2) 标准差是方差的平方根
print(np.var([1,2,3,4]))
#也即
x = np.array([1,2,3,4])
x - np.mean(x)
y = np.array([2.25,0.25,0.25,2.25])
print(y)
np.mean(y)
#output:
1.25
[2.25 0.25 0.25 2.25]
1.25

参考视频:哔哩哔哩——马士兵教育-杨淑娟

python-函数-统计函数的更多相关文章

  1. python 函数之day3

    一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程 ...

  2. Python函数作用域的查找顺序

    函数作用域的LEGB顺序 1.什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 2.它们 ...

  3. Python函数讲解

    Python函数

  4. Python函数信息

    Python函数func的信息可以通过func.func_*和func.func_code来获取 一.先看看它们的应用吧: 1.获取原函数名称: 1 >>> def yes():pa ...

  5. Python函数参数默认值的陷阱和原理深究"

    本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...

  6. Python开发【第四章】:Python函数剖析

    一.Python函数剖析 1.函数的调用顺序 #!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian #函数错误的调用方式 def fun ...

  7. Python函数解析

    对于Python的函数,我们需要记住的是: 1. 函数的默认返回值是None. 2. python是一个自上而下逐行解释并执行的语言.因此,函数的定义必须在函数被调用之前.同名的函数,后定义的会覆盖前 ...

  8. Python入门笔记(18):Python函数(1):基础部分

    一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...

  9. Python函数1

    Python 函数命令的使用 想想我们之前数学中学到的函数,首先我们需要定义一个函数,例如f(x)=x, 当x输入任意数的时候,f(x)都能输出和x相等的数值. 那么在Python中是如何实现的呢? ...

  10. python函数传参是传值还是传引用?

    首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传 ...

随机推荐

  1. 迷宫类dp整合

    这是迷宫类dp我自己取的名字,通常比较简单,上货 简单模型 数字三角形 状态表示:f[i][j]表示起点第\(i\)行第\(j\)个数最短路径的长度 状态转移:\(f[i][j] = max(f[i ...

  2. 5.1 从C到C++

    在前4章中介绍了C语言的主要内容,已经足以应付许多算法竞赛的题目了,然而能写不代表好写,有些虽然能够用C语言实现,但是使用C++写起来往往会更快,并且不容易出错 从c到c++ C语言是一门很有用的语言 ...

  3. 详解 Apache Hudi Schema Evolution(模式演进)

    Schema Evolution(模式演进)允许用户轻松更改 Hudi 表的当前模式,以适应随时间变化的数据. 从 0.11.0 版本开始,支持 Spark SQL(spark3.1.x 和 spar ...

  4. CentOS7添加swap分区

    买了个云主机,只有1G内存,跑爬虫经常内存不足,于是只能添加swap来缓解: 1.官方推荐的swap大小定义 2.使用dd命令在根下创建swapfile dd if=/dev/zero of=/swa ...

  5. 20220722-Java中this关键字

    this关键字知识总结 学习资源:B站韩顺平老师Java入门教学 代码示例1 public class This01 { public static void main(String[] args) ...

  6. PROFIBUS,PROFINET,Ethernet三者的区别

    PROFIBUS,PROFINET,Ethernet三者的区别 简单一点说,PROFINET=PROFIbus+etherNET,把Profibus的主从结构移植到以太网上,所以profinet会有C ...

  7. 下载markdown软件Obsidian(解决官网下载速度慢)

    Typora要钱了,不想每次都点稍后再买. Obsidian也很好用,官网是:https://obsidian.md/ 但是不太好下载,直接下载速度只有10kb/s左右,总共60多MB: 扔给迅雷也没 ...

  8. 记一次 ClickHouse 性能测试

    前言 在工作场景中,我们会采集工厂设备数据用于智能控制,数据的存储用了 InfluxDB,随着数据规模越来越大,InfluxDB 的性能越来越差,故考虑引入 ClickHouse 分担 InfluxD ...

  9. C++中的cout.setf(ios::fixed)是什么意思?

    问题描述:在阅读一段代码时,发现代码的最后一部分出现 ... cout.setf(ios::fixed); cout.setf(ios::showpoint); ... 解决: cout.setf() ...

  10. ASP.NET Core 6框架揭秘实例演示[34]:缓存整个响应内容

    我们利用ASP.NET开发的大部分API都是为了对外提供资源,对于不易变化的资源内容,针对某个维度对其实施缓存可以很好地提供应用的性能.<内存缓存与分布式缓存的使用>介绍的两种缓存框架(本 ...