Pandas.DataFrame.mean() 平均值 详解 含代码 含测试数据集 随Pandas版本持续更新

关于Pandas版本: 本文基于 pandas2.1.2 编写。

关于本文内容更新: 随着pandas的stable版本更迭,本文持续更新,不断完善补充。

Pandas稳定版更新及变动内容整合专题: Pandas稳定版更新及变动迭持续更新。

Pandas API参考所有内容目录

本节目录

  • Pandas.DataFrame.mean()
    • 语法:
    • 返回值:
    • 参数说明:
      • axis 指定计算方向(行或列)
      • skipna 忽略缺失值
      • numeric_only 仅计算全是数字类型的平均值
      • **kwargs 关键字参数
    • 示例:
      • 例1:如果是 `Series` 始终保持 `axis=0`,即计算整列的平均值。
      • 例2: 当 `axis=None` 时, `DataFrame` 的所有值的数据类型必须是数值类型的,否则会报错!
      • 例3: 求 `DataFrame` 每列的平均值
      • 例4: 求 `DataFrame` 每行的平均值
      • 例5:如果整行或整列,都是缺失值,那么平均值结果也是缺失值。
      • 例6:`numeric_only=True` 只对数值类型的数据求平均值

Pandas.DataFrame.mean()

DataFrame.mean 方法用于返回指定轴向的平均值。

语法:

DataFrame.mean(axis=0, skipna=True, numeric_only=False, **kwargs)

返回值:

  • Series or scalar

    • 输入的数据是单行或单列,则返回 scalar;
    • 输入的数据是多行或多列,则返回 Series

参数说明:

axis 指定计算方向(行或列)

  • axis : {0 or ‘index’, 1 or ‘columns’}, default 0

    axis 参数,用于指定计算方向,即按行计算或按列计算平均值:

    • 如果是 Series 此参数无效,将始终保持 axis=0,即计算整列的平均值。例1
    • 如果是 DataFrame 默认为 axis=0 即计算每一列的平均值。并有以下参值可选:
      • 0 or ‘index’: 计算每列的平均值。 例3
      • 1 or ‘columns’: 计算每行的平均值。例4
      • None: 计算所有值的平均值,这相当于把 DataFrame 的所有值展平后求平均值: df.mean(axis=None) 等效于 mean(df.values.raravel())
      • ⚠️ 注意 :
        字符串类型的值,不支持平均值运算。

        • axis=None 时, DataFrame 所有值的数据类型必须数值类型的,否则会报错! TypeError 例2

    新增于 Pandas 2.0.0 : axis 参数,新增于Pandas 2.0.0 版本。

skipna 忽略缺失值

  • skipna : bool, default False >

    skipna 参数,用于指定求平均值的时候是否忽略缺失值:

    • False: 不忽略,缺失值 在求平均值的时候,会被解析为浮点数 float。当字符串和缺失值混合时,会报错!TypeError
    • True: 忽略缺失值。

    ⚠️ 注意 :

    • 缺失值 在求平均值的时候,会被解析为浮点数 float

    • 如果整行或整列,都是缺失值,那么平均值结果也是缺失值。 例5

numeric_only 仅计算全是数字类型的平均值

  • numeric_only : bool, default False

    numeric_only 参数,用于控制是否排除非数值类型的值:

    • False: 不排除,计算同行或同列,所有数据的平均值。但是遇到数据类型不同的问题时,会报错。
    • True: 只计算数字类型数据的平均值,同行、同列的非数值类型数据会被排除。例6

**kwargs 关键字参数

  • kwargs
    kwargs 参数,是为了保持与 Numpy 的兼容性而保留的参数,一般不需要传递任何内容。

示例:

测试文件下载:

本文所涉及的测试文件,如有需要,可在文章顶部的绑定资源处下载。

若发现文件无法下载,应该是资源包有内容更新,正在审核,请稍后再试。或站内私信作者索要。

测试文件下载位置.png

测试文件下载位置

例1:如果是 Series 始终保持 axis=0,即计算整列的平均值。

import numpy as np
import pandas as pd

s = pd.Series([24.0, np.nan, 21.0, 33, 26], name="age")
s.mean()
26.0

例2: 当 axis=None 时, DataFrame 的所有值的数据类型必须是数值类型的,否则会报错!

import numpy as np
import pandas as pd

df = pd.DataFrame(
    {
        "Person": ["John", "Myla", "Lewis", "John", "Myla"],
        "Age": [24.0, 2, 21.0, 33, 26],
        "Single": [False, True, True, True, False],
    }
)

df.mean(axis=None)

在这里插入图片描述

例3: 求 DataFrame 每列的平均值

import numpy as np
import pandas as pd

df = pd.DataFrame(
    {
        "Person": ["John", "Myla", "Lewis", "John", "Myla"],
        "Age": [24.0, 2, 21.0, 33, 26],
        "Single": [False, True, True, True, False],
    }
)

# 应返回的是Series,为了方便观察,使用.to_frame(),显式为表格形式
df.mean().to_frame()
0
PersonJohn
Age2.0
SingleFalse

例4: 求 DataFrame 每行的平均值

import numpy as np
import pandas as pd

df = pd.DataFrame(
    {"A": [28, "Lewis", True], "B": [24.0, "John", False], "C": [30, "Myla", True]}
)

# 应返回的是Series,为了方便观察,使用.to_frame(),显式为表格形式
df.mean(axis=1).to_frame()
0
024.0
1John
2False

例5:如果整行或整列,都是缺失值,那么平均值结果也是缺失值。

import numpy as np
import pandas as pd

df = pd.DataFrame(
    {"A": [np.nan, np.nan]},
)

# 应返回的是Series,为了方便观察,使用.to_frame(),显式为表格形式
df.mean(axis=0).to_frame()
0
ANaN

例6:numeric_only=True 只对数值类型的数据求平均值

df = pd.DataFrame({"A": [0.5], "B": ["a"], "C": [True]})

# 应返回的是Series,为了方便观察,使用.to_frame(),显式为表格形式
df.mean(axis=1, numeric_only=True).to_frame()
0
00.5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/338188.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

初始RabbitMQ(入门篇)

消息队列(MQ) 本质上就是一个队列,一个先进先出的队列,队列中存放的内容是message(消息),是一种跨进程的通信机制,用于上下游传递消息, 为什么使用MQ: 削峰填谷: MQ可以很好的做一个缓冲机制,例如在一个系统中有A和B两个应用,A是接收用户的请求的,然后A调用B进行处理. 这时…

C++ STL之string的使用及模拟实现

文章目录 1. 前言2. 介绍3. string类的使用3.1 string类的构造函数3.2 string类对象的容量操作3.3 string类对象的访问及遍历操作3.4 string类对象的修改操作3.5 string类对象的字符串操作3.6 string类的非成员函数 4. string类的模拟实现 1. 前言 C语言中,字符串是…

如何在 Ubuntu / Raspbian 上安装 MariaDB

Raspberry Pi OS(原为Raspbian)是为树莓派基于Debian开发的操作系统。 从2015年起,树莓派基金会正式将其作为树莓派的官方操作系统。 Raspbian是由Mike Thompson和Peter Green创建的一个独立项目。第一个版本于2012年6月发布,至…

php基础学习之变量

php使用变量的必要性 PHP 是一种动态网站开发的脚本语言,动态语言特点是交互性,会有数据的传递,而 PHP作为“中间人”,需要进行数据的传递,传递的前提就是 PHP 能自己存储数据(临时存储) php变量的命名规则 必须以do…

Android Studio 之 菜单 Menu

选项菜单 OptionsMenu 用xml添加&#xff08;更建议使用&#xff09; 创建一个菜单布局 : 在 res文件下新建一个menu 目录&#xff0c;此时的菜单id为&#xff1a;R.menu.option <?xml version"1.0" encoding"utf-8"?> <menu xmlns:android&…

从一到无穷大 #21 从基于多数据模型分析负载的Benchmark讨论多模数据库的发展方向

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作)&#xff0c;由 李兆龙 确认&#xff0c;转载请注明版权。 文章目录 引言M2Bench测试结果从Lindorm看待多模的发展方向总结 引言 《M2Bench: A Database …

Java 面向对象 03 就近原则和this关键字

对于起名字需要见名知意&#xff0c;所以这个String n 不太合适&#xff1a; 但是如果将n改为name&#xff0c;会与第五行代码的name重复&#xff1a; 运行代码发现&#xff0c;获取后的姓名为默认值&#xff0c;是null 引入就近原则&#xff1a; 此处打印的是age10&#xff0c…

CPU相关专业名词介绍

CPU相关专业名词 1、CPU 中央处理器CPU&#xff08;Central Processing Unit&#xff09;是计算机的运算和控制核心&#xff0c;可以理解为PC及服务器的大脑CPU与内部存储器和输入/输出设备合称为电子计算机三大核心部件CPU的本质是一块超大规模的集成电路&#xff0c;主要功…

2024.1.21周报

目录 摘要 ABSTRACT 一、文献阅读 一、题目 二、摘要 三、Introduction 四、模型 一、连续时间模型 二、离散时间模型 五、结论 二、实验代码 Navier–Stokes equation 总结 摘要 本周我阅读了一篇题目为Physics-informed neural networks: A deep learning fra…

IDEA2023.2 将普通项目转Maven项目

1、选中一个普通工程&#xff1a; 2、快捷键&#xff1a;ctrlshift a&#xff0c;搜索&#xff1a;Add Framework Support… 3、勾选maven&#xff0c;点击ok。

信息安全概述

信息安全&#xff1a;防止任何对数据进行未授权访问的措施&#xff0c;或者防止造成信息有意无意泄漏、破坏、丢失等问题的发生&#xff0c;让数据处于远离危险、免于威胁的状态或特性。 网络安全&#xff1a;计算机网络环境下的信息安全。 信息安全现状及挑战 数字化时代威…

分布式 session

分布式 session 种 session 的时候需要注意范围&#xff0c;也就是 cookie.domain。 比如两个域名&#xff1a;a.heo.com&#xff0c;b.heo.com。如果要共享 cookie&#xff0c;可以种一个更高层的公共域名&#xff0c;比如 heo.com。 当服务器 A &#xff08;localhost:808…

构建高可用消息队列系统 01

构建高可用消息队列系统 01 引言1. RabbitMQ简介介绍1.1 什么是RabbitMQ1.2 RabbitMQ的核心特性1.3 RabbitMQ与AMQP 2.安装RabbitMQ3.消息队列实践总结 引言 在当今互联网时代&#xff0c;消息队列系统扮演着至关重要的角色&#xff0c;它们被广泛应用于分布式系统、微服务架构…

黑马Java——ArrayList集合

目录 1.ArrayList 集合和数组的优势对比&#xff1a; 1.1 ArrayList类概述 1.2 ArrayList类常用方法 1.2.1 构造方法 1.2.2 成员方法 2.练习 2.1添加字符串和数组并遍历 2.1.1添加字符串 2.1.2添加数字 2.2添加学生对象并遍历 2.2.1直接给字符串赋值 2.2.2对象的数…

【Unity学习笔记】Unity TestRunner使用

转载请注明出处&#xff1a;&#x1f517;https://blog.csdn.net/weixin_44013533/article/details/135733479 作者&#xff1a;CSDN|Ringleader| 参考&#xff1a; Input testingGetting started with Unity Test FrameworkHowToRunUnityUnitTest如果对Unity的newInputSystem感…

STM32 Hal库FreeRtos查看所有任务的内存栈信息使用情况剩余空间 仅需一个函数搞定 超简单

STM32F103 基于Hal库跑FreeRtos&#xff0c;查看所有任务的栈的信息&#xff0c;包括任务名&#xff0c;任务状态&#xff0c;任务优先级&#xff0c;空闲栈&#xff0c;任务号。 运行结果如下 只需要使用一个函数vTaskList &#xff1a;获得任务的统计信息&#xff0c;形式为…

2024年,给程序员的六点建议

作为程序员&#xff0c;持续进步和发展是至关重要的。除了技术能力的提升&#xff0c;还有一些关键的行为和思维方式可以帮助工程师在职业生涯中取得更大的成功。本文将提供六个重要的建议&#xff0c;这些建议将帮助程序员在职业生涯中迈出成功的步伐。 走出舒适区 走出舒适区…

HarmonyOS【应用服务开发】在模块中添加Ability

Ability是应用/服务所具备的能力的抽象&#xff0c;一个Module可以包含一个或多个Ability。应用/服务先后提供了两种应用模型&#xff1a; FA&#xff08;Feature Ability&#xff09;模型&#xff1a; API 7开始支持的模型&#xff0c;已经不再主推。Stage模型&#xff1a;AP…

CMU15-445-Spring-2023-分布式DBMS初探(lec21-24)

Lecture #21_ Introduction to Distributed Databases Distributed DBMSs 分布式 DBMS 将单个逻辑数据库划分为多个物理资源。应用程序&#xff08;通常&#xff09;并不知道数据被分割在不同的硬件上。系统依靠单节点 DBMS 的技术和算法来支持分布式环境中的事务处理和查询执…

企业SRC挖掘个人看法

昨晚上课网安的老师带我们现场挖掘漏洞&#xff0c;可谓是一场视觉盛宴&#xff01;&#xff01;&#xff01; <---老师 我--> 真的没有对比就没有伤害&#x1f62d;&#x1f62d;&#x1f62d;&#xff0c;其间他也分享了一些漏洞挖掘的思路&#xff0c;让我来回顾…