首页 > 编程语言 >【Python数据分析】Pandas_描述性统计

【Python数据分析】Pandas_描述性统计

时间:2024-06-18 20:30:30浏览次数:13  
标签:Rating Python sum NaN df 描述性 print Pandas axis

描述统计学(descriptive statistics)是一门统计学领域的学科,主要研究如何取得反映客观现象的数据,并以图表形式对所搜集的数据进行处理和显示,最终对数据的规律、特征做出综合性的描述分析。Pandas 库正是对描述统计学知识完美应用的体现,可以说如果没有“描述统计学”作为理论基奠,那么 Pandas 是否存在犹未可知。下列表格对 Pandas 常用的统计学函数做了简单的总结:

函数名称描述说明
count()统计某个非空值的数量。
sum()求和
mean()求均值
median()求中位数
mode()求众数
std()求标准差
min()求最小值
max()求最大值
abs()求绝对值
prod()求所有数值的乘积。
cumsum()计算累计和,axis=0,按照行累加;axis=1,按照列累加。
cumprod()计算累计积,axis=0,按照行累积;axis=1,按照列累积。
corr()计算数列或变量之间的相关系数,取值-1到1,值越大表示关联性越强。

在 DataFrame 中,使用聚合类方法时需要指定轴(axis)参数。下面介绍两种传参方式:

  • 对行操作,默认使用 axis=0 或者使用 “index”;
  • 对列操作,默认使用 axis=1 或者使用 “columns”。

axis轴

从图可以看出,axis=0 表示按垂直方向进行计算,而 axis=1 则表示按水平方向。下面让我们创建一个 DataFrame,使用它对本节的内容进行演示。

import pandas as pd
#创建字典型series结构
d = {'Name':pd.Series(['小明','小亮','小红','小华','老赵','小曹','小陈',
   '老李','老王','小冯','小何','老张']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}
df = pd.DataFrame(d)
print(df)

输出结果:

   Name  Age  Rating
0    小明   25    4.23
1    小亮   26    3.24
2    小红   25    3.98
3    小华   23    2.56
4    老赵   30    3.20
5    小曹   29    4.60
6    小陈   23    3.80
7    老李   34    3.78
8    老王   40    2.98
9    小冯   30    4.80
10   小何   51    4.10
11   老张   46    3.65

sum()求和

#默认axis=0或者使用sum("index")
print(df.sum())

输出结果:

Name      小明小亮小红小华老赵小曹小陈老李老王小冯小何老张
Age                            382
Rating                       44.92
dtype: object

注意:sum() 和 cumsum() 函数可以同时处理数字和字符串数据。虽然字符聚合通常不被使用,但使用这两个函数并不会抛出异常;而对于 abs()、cumprod() 函数则会抛出异常,因为它们无法操作字符串数据。

下面再看一下 axis=1 的情况,如下所示:

#也可使用sum("columns")或sum(1)
print(df.sum(axis=1))

输出结果:

0     29.23
1     29.24
2     28.98
3     25.56
4     33.20
5     33.60
6     26.80
7     37.78
8     42.98
9     34.80
10    55.10
11    49.65
dtype: float64

mean()求均值

print(df.mean())

输出结果:

Age       31.833333
Rating     3.743333
dtype: float64

std()求标准差

标准差是方差的算术平方根,它能反映一个数据集的离散程度。注意,平均数相同的两组数据,标准差未必相同。

print(df.std())

输出结果:

Age       13.976983
Rating     0.661628
dtype: float64

数据汇总描述

describe() 函数显示与 DataFrame 数据列相关的统计信息摘要。示例如下:

#求出数据的所有描述信息
print(df.describe())

输出结果:

             Age     Rating
count  12.000000  12.000000
mean   34.916667   3.743333
std    13.976983   0.661628
min    19.000000   2.560000
25%    24.500000   3.230000
50%    28.000000   3.790000
75%    45.750000   4.132500
max    59.000000   4.800000

describe() 函数输出了平均值、std 和 IQR 值(四分位距)等一系列统计信息。通过 describe() 提供的include能够筛选字符列或者数字列的摘要信息。

include 相关参数值说明如下:

  • object: 表示对字符列进行统计信息描述;
  • number:表示对数字列进行统计信息描述;
  • all:汇总所有列的统计信息。

下面看一组示例,如下所示:

print(df.describe(include=["object"]))

输出结果:

       Name
count    12
unique   12
top      小红
freq      1

最后使用all参数,看一下输出结果,如下所示:

print(df.describe(include="all"))

输出结果:

       Name        Age     Rating
count    12  12.000000  12.000000
unique   12        NaN        NaN
top      小红       NaN       NaN
freq      1        NaN        NaN
mean    NaN  34.916667   3.743333
std     NaN  13.976983   0.661628
min     NaN  19.000000   2.560000
25%     NaN  24.500000   3.230000
50%     NaN  28.000000   3.790000
75%     NaN  45.750000   4.132500
max     NaN  59.000000   4.800000

参考:C语言中文网

标签:Rating,Python,sum,NaN,df,描述性,print,Pandas,axis
From: https://blog.csdn.net/qq_45951891/article/details/139743978

相关文章

  • 在现代编程环境中,Perl 如何与其他流行语言(如 Python、Java 等)进行集成和协作?
    在现代编程环境中,Perl可以与其他流行语言(如Python、Java等)进行集成和协作。以下是一些常见的方法:调用外部程序:Perl可以使用系统调用来执行其他语言编写的可执行文件。这意味着可以从Perl中调用Python、Java等程序,并将它们的输出捕获到Perl程序中进行处理。使......
  • python系列&AI系列:cannot import name ‘ForkProcess‘ from ‘multiprocessing.conte
    cannotimportname‘ForkProcess‘from‘multiprocessing.context‘问题解决cannotimportname‘ForkProcess‘from‘multiprocessing.context‘问题解决问题描述问题原因解决方案cannotimportname‘ForkProcess‘from‘multiprocessing.context‘问......
  • python系列:使用Python快速读取PDF中的表单数据以及error处理
    使用Python快速读取PDF中的表单数据以及error处理使用Python快速读取PDF中的表单数据安装PythonPDF库Python读取PDF表单数据1、一次性读取多种PDF表单的数据2、读取特定PDF表单的数据python读取PDF文件中文本、表格、图片python读取PDF文件中文本、表格、图片一、文本......
  • python系列:[Python]在VSCode中搭建Python开发环境
    [Python]在VSCode中搭建Python开发环境[Python]在VSCode中搭建Python开发环境前言安装1.安装VSCode的Python插件2.选择python解释器3.运行代码配置python检查项安装对应的库修改vscode的配置文件[Python]在VSCode中搭建Python开发环境前言之前用过Anaconda......
  • centos7 安装 python3.12
    准备工作yuminstallcentos-release-sclsclenabledevtoolset-11bashwgethttps://www.python.org/ftp/python/3.12.4/Python-3.12.4.tgz编译注意是在scl环境下进行的,gcc版本过低的环境会导致编译失败tar-zxfPython-3.12.4.tgzcdPython-3.12.4./configure--pr......
  • python文件操作、文件操作、读写文件、写模式
    with读取文件数据内容withopen(filepath,mode,encoding)asfile:#具体操作,例如:print(file.read())#查看文件所有的内容。with:Python中的一个上下文管理器,用于简化资源的管理和释放。它可以用于任意需要进行资源分配和释放的情境,比如文件操作、数据库连......
  • Win11+Miniconda3+python3.9安装pyspark+pytorch
    Win11+Miniconda3+python3.9安装pyspark+pytorch步骤1:安装Miniconda3,具体可以百度或者google步骤2:安装好Miniconda3之后,要创建虚拟环境,类似于虚拟机的样子,然后在虚拟环境安装各种python包已经装好了pytorch,具体步骤可以参考网上的一些教程,很多时候要综合多个教程,比如说先建立......
  • python 注册nacos 进行接口规范定义
    背景:一般场景python服务经常作为java下游的算法服务或者数据处理服务但是使用http去调用比较不灵活,通过注册到nacos上进行微服务调用才是比较爽的1.定义feginapi的接口定义java端定义接口请求和响应主要关注CommonResult结构和python要一直,不然序列号是有问题的Co......
  • Python编程基础:f-字符串格式
    本文探讨使用Pythonf-字符串格式,也称为“格式化字符串文字”。f-string是格式化字符串的一种很好且简单的方法,适用于Pythonv3.6+。如果你仍然使用.format()方法,必须了解f-字符串。使用字符串格式的优势之一是能够“插入”并格式化字符串数据中的变量。Python字符串format()方......
  • python调用智能合约代码,BadFunctionCallOutput 怎么解决
    目录桌面应用使用QT5开发的,可以看看我的QT5文章BadFunctionCallOutput 怎么解决我的原因是智能合约地址填写错误python智能合约基础应用如何使用remix编写solidity智能合约并部署上链在哪进行合约部署,合约部署步骤Remix怎么复制abi和address​编辑这个ABI对应最简......