Python科学计算库 — Pandas数学统计方法

2024-05-07 11:38

本文主要是介绍Python科学计算库 — Pandas数学统计方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先导入pandas库

import numpy as np
import pandas as pd

Pandas 常用的数学统计方法如下表:

方法说明
count计算非NA值的数量
describe针对Series 或DataFrame 列计算总的统计值
min/max计算最大值/最小值
idxmin/idxmax计算能够获取到最大值/最小值的索引(整数)
argmin/argmax计算能够获取到最小值和最大值的索引值
quantile计算样本的分位数(0到1)
sum值的总和
mean值的平均数
median值的中位数
mad根据平均值计算平均绝对距离差
var样本方差
std样本标准差
cumsum样本值的累计和
cummin/cummax样本的累计最小值/累计最大值
cumprod样本值的累计积
pct_change计算百分数变化

※ 以上统计方法默认对列进行统计;如果要对每一行数据进行统计,应设置axis=1。

Example:
在这里插入图片描述

1、df.count(axis=0):默认统计每一列非NA值的个数;axis=1 表示统计每一行非NA值的个数。

2、df.describe():对每一列数据做完整的数据统计,统计值包括:count、mean、std、min、max等。注:只能对列,不能对行进行统计!

3、df.idxmin()df.idxmax(): 获取最小值,最大值对应的索引值

4、df.sum(axis=0):求和,默认对每一列求和;axis=1表示对每一行求和。

5、df.mean(axis=0):求每一列的平均值;axis=1表示求每一行的平均值。

6、df.median(axis=0)df.quantile(axis=0):求每一列数据的中位数

info = pd.read_csv("./student_info.csv")
print("统计每一列非NA值的数据个数:\n", info.count())
# print("统计每一行非NA值的数据个数:\n", info.count(axis=1))   
# axis=1 表示统计每一行
print("总统计值:\n", info.describe())
print("获取各科最高分的人对应的行索引:\n", info.idxmax())
print("获取语文最低分的人对应的行索引:", info.idxmin()['Chinese'])
print("求每一列数据的平均值:\n", info.mean())
print("求每一列数据的中位数:\n", info.median())

输出结果:
在这里插入图片描述

7、df.mad():平均绝对距离差:(绝对值(数值-平均值))的平均值,表征数据的离散程度。
在这里插入图片描述

8、df.var():方差

9、df.std():标准差

方差和标准差都是表征数据的离散程度。

10、df.cumsum():累计和,cs1=a1, cs2=cs1+a2, cs3=cs2+a3, …

11、df.cummax()df.cummin():累计最大值,累计最小值 从前向后比较,如果有更大(小)的就更新,没有就保持。

12、df.cumprod(): 累计积

13、df.pct_change():计算百分比变化,和前一个数据对比

14、相关系数和协方差:ser1.cov(ser2),反映两组数据之间的相关性和相关程度。

这篇关于Python科学计算库 — Pandas数学统计方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/967251

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

hdu1496(用hash思想统计数目)

作为一个刚学hash的孩子,感觉这道题目很不错,灵活的运用的数组的下标。 解题步骤:如果用常规方法解,那么时间复杂度为O(n^4),肯定会超时,然后参考了网上的解题方法,将等式分成两个部分,a*x1^2+b*x2^2和c*x3^2+d*x4^2, 各自作为数组的下标,如果两部分相加为0,则满足等式; 代码如下: #include<iostream>#include<algorithm

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

浅谈主机加固,六种有效的主机加固方法

在数字化时代,数据的价值不言而喻,但随之而来的安全威胁也日益严峻。从勒索病毒到内部泄露,企业的数据安全面临着前所未有的挑战。为了应对这些挑战,一种全新的主机加固解决方案应运而生。 MCK主机加固解决方案,采用先进的安全容器中间件技术,构建起一套内核级的纵深立体防护体系。这一体系突破了传统安全防护的局限,即使在管理员权限被恶意利用的情况下,也能确保服务器的安全稳定运行。 普适主机加固措施:

webm怎么转换成mp4?这几种方法超多人在用!

webm怎么转换成mp4?WebM作为一种新兴的视频编码格式,近年来逐渐进入大众视野,其背后承载着诸多优势,但同时也伴随着不容忽视的局限性,首要挑战在于其兼容性边界,尽管WebM已广泛适应于众多网站与软件平台,但在特定应用环境或老旧设备上,其兼容难题依旧凸显,为用户体验带来不便,再者,WebM格式的非普适性也体现在编辑流程上,由于它并非行业内的通用标准,编辑过程中可能会遭遇格式不兼容的障碍,导致操

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf

uva 10025 The ? 1 ? 2 ? ... ? n = k problem(数学)

题意是    ?  1  ?  2  ?  ...  ?  n = k 式子中给k,? 处可以填 + 也可以填 - ,问最小满足条件的n。 e.g k = 12  - 1 + 2 + 3 + 4 + 5 + 6 - 7 = 12 with n = 7。 先给证明,令 S(n) = 1 + 2 + 3 + 4 + 5 + .... + n 暴搜n,搜出当 S(n) >=

uva 11044 Searching for Nessy(小学数学)

题意是给出一个n*m的格子,求出里面有多少个不重合的九宫格。 (rows / 3) * (columns / 3) K.o 代码: #include <stdio.h>int main(){int ncase;scanf("%d", &ncase);while (ncase--){int rows, columns;scanf("%d%d", &rows, &col