获取pandas中的众数
pandas.DataFrame 也有一个 mode() 方法。
以下面的 pandas.DataFrame 为例。
df = pd.DataFrame({‘col1’: [‘X’, ‘X’, ‘Y’, ‘X’],
‘col2’: [‘X’, ‘Y’, ‘Y’, ‘X’]},
index=[‘row1’, ‘row2’, ‘row3’, ‘row4’])
print(df)
col1 col2
row1 X X
row2 X Y
row3 Y Y
row4 X X
按列获取模式
从pandas.DataFrame调用mode()方法返回一个pandas.DataFrame,其元素默认为每一列的众数值。请注意,即使只有一种模式,也会返回一行的 pandas.DataFrame,如上面的 pandas.Series 示例所示。
如果模式数因列而异,则空白部分将成为缺失值 NaN。
print(df.mode())
col1 col2
0 X X
1 NaN Y
print(type(df.mode()))
<class ‘pandas.core.frame.DataFrame’>
可以通过count()方法获取每一列中模态值的个数,该方法统计的是不为缺失值NaN的元素个数。
print(df.mode().count())
col1 1
col2 2
dtype: int64
生成的 pandas.DataFrame 的第一行将是每列的模式(如果有多个,则为其中一个)。第一行可以通过iloc[0]获得。
04_Pandas获取和修改任意位置的值(at,iat,loc,iloc)
print(df.mode().iloc[0])
col1 X
col2 X
Name: 0, dtype: object
从pandas.DataFrame中调用mode()选择列可能会包含缺失值NaN,但是先选择列再调用mode()作为pandas.Series是不包含缺失值NaN的
print(df.mode()[‘col1’])
0 X
1 NaN
Name: col1, dtype: object
print(df[‘col1’].mode())
0 X
dtype: object
它可能不是很有用,但是如果你用 apply() 方法从每一列调用 mode() 并用 tolist() 列出它,也可以得到一个以列表(列表类型)作为元素的 pandas.Series。
l_mode = df.apply(lambda x: x.mode().tolist())
print(l_mode)
col1 [X]
col2 [X, Y]
dtype: object
print(l_mode.iat[1])
[‘X’, ‘Y’]
print(type(l_mode.iat[1]))
<class ‘list’>
print(l_mode.iat[1][1])
Y
print(type(l_mode.iat[1][1]))
此时,生成的 pandas.Series 的行名索引变成了原始 pandas.DataFrame 的列名。注意,如果原来的列名是数字,选择结果pandas.Series的值为[number]会报错,必须是iat[number]。例子中是字符串,所以[Number]没有问题。
每行获取模式
如果设置参数 axis=1,则可以获得每一行的模式。
print(df.mode(axis=1))
0 1
row1 X NaN
row2 X Y
row3 Y NaN
row4 X NaN
计数不是缺失值 NaN 的元素数量的 count() 方法也有一个参数轴。
print(df.mode(axis=1).count(axis=1))
row1 1
row2 2
row3 1
row4 1
dtype: int64
在 pandas 中,每一列都有一个类型 dtype,所以基本上假设每一列都排列了相同类型的数据。
因此,通常不需要获取每一行的众数,如果每一行排列的是同类数据,转置可能会更好。
df_t = df.T
print(df_t)
row1 row2 row3 row4
col1 X X Y X
col2 X Y Y X
print(df_t.mode())
row1 row2 row3 row4
0 X X Y X
1 NaN Y NaN NaN
获取模式的频率(出现次数)
可以使用 pandas.Series 的 value_counts() 方法获取模式的频率(出现次数)。
value_counts() 返回一个 pandas.Series,其唯一元素值为 index,其频率(出现次数)为 data。
默认情况下,pandas.Series 按出现的降序排序,因此 value_counts() 方法返回的 pandas.Series 中的第一个值是模式的频率。
print(df[‘col1’].value_counts())
X 3
Y 1
Name: col1, dtype: int64
print(df[‘col1’].value_counts().iat[0])
3
原始 pandas.Series 的元素成为生成的 pandas.Series 的索引。如果数值为index,则不能用[number]指定值(会报错),所以使用iat [number]严格指定。 (由于上面的例子是字符串,所以[number]是没有问题的)
使用 apply() 获取每列模式的频率。
print(df.apply(lambda x: x.value_counts().iat[0]))
col1 3
col2 2
dtype: int64
describe() 方法计算每一列的汇总统计信息,还获取众数及其频率。
print(df.describe())
col1 col2
count 4 4
unique 2 2
top X Y
freq 3 2
项目 top 是模式, freq 是它的频率。如果有多种模式,则只返回其中一种。结果是一个 pandas.DataFrame,因此您可以使用 loc、at 等获取行和元素。
print(df.describe().loc[‘freq’])
col1 3
col2 2
Name: freq, dtype: object
print(df.describe().at[‘freq’, ‘col2’])
2
describe() 没有参数轴,因此如果要将它应用于一条线,请在调用它之前转置它。
print(df.T.describe())
row1 row2 row3 row4
count 2 2 2 2
unique 1 2 1 1
top X Y Y X
freq 2 1 2 2
相关文章:
获取pandas中的众数
pandas.DataFrame 也有一个 mode() 方法。 以下面的 pandas.DataFrame 为例。 df pd.DataFrame({‘col1’: [‘X’, ‘X’, ‘Y’, ‘X’], ‘col2’: [‘X’, ‘Y’, ‘Y’, ‘X’]}, index[‘row1’, ‘row2’, ‘row3’, ‘row4’]) print(df) col1 col2 row1 X X row2…...
SOLIDWORKS Simulation2024仿真10大新功能
SOLIDWORKS Simulation新增功能 1. 增强型轴承接头 •通过指定压缩、拉伸和弯曲的刚度,轻松创建自定义轴承接头。•通过向非线性和大型位移算例添加自定义条件,提高模拟精度。 优点:使用功能强大的接口,更轻松 、 更 准 确 地 设…...
Java程序设计2023-第二次上机练习
这里要用到一些面向对象的基本知识 目录 7-1 伪随机数 输入格式: 输出格式: 输入样例: 输出样例: 7-2 jmu-Java-03面向对象基础-01-构造方法与toString 1.编写无参构造函数: 2.编写有参构造函数 3.覆盖toString函数: 4.对每个属性生成setter…...
如何在 uniapp 里面使用 pinia 数据持久化 (pinia-plugin-persistedstate)
想要在 uniapp 里面使用 pinia-plugin-persistedstate 会遇到的问题就是 uniapp里面没有浏览器里面的 sessionStorage localStorage 这些 api。 我们只需要替换掉 pinia-plugin-persistedstate 默认的储存 api 就可以了。使用 createPersistedState 重新创建一个实例, 把里面的…...
智慧矿山AI算法助力护帮板支护监测,提升安全与效率
在智慧矿山AI算法系列中,护帮板支护监测是保障矿山安全和提高生产效率的重要环节。护帮板作为矿山支护体系中的重要组成部分,在矿山生产中起到了关键的作用。那么,护帮板在哪种状态下是正常打开的呢?本文将对此进行介绍。 护帮板的…...
shell中的运算
目录 1.运算符号 2.运算指令 练习 1.运算符号 运算符号意义加法-减法*乘法/除法%除法后的余数**乘方自加一- -自减一<小于<小于等于>大于>大于等于等于ji ->jji*j*i->jj*i/j/i->jj/i%j%i->jj%i 2.运算指令 (()) //((a12))let //let a12 …...
【Java 进阶篇】解决Java Web应用中请求参数中文乱码问题
在Java Web应用开发中,处理请求参数时经常会遇到中文乱码的问题。当浏览器向服务器发送包含中文字符的请求参数时,如果不正确处理,可能会导致乱码问题,使得参数无法正确解析和显示。本文将详细探讨Java Web应用中请求参数中文乱码…...
51单片机-点阵屏led
代码配置 这样就能选择每一列哪个亮了 进行位选,段清零,这样就不会影响多列同时了 实现动画 1、使用文字摸提取文件,提取图案的16进制表示数组 offest作为偏移量,count作为计时。count10,偏移量加1,就相当于得到下一…...
Angular-03:组件模板
各种学习后的知识点整理归纳,非原创! 组件模板 ① 数据绑定② 属性绑定③ 类名绑定④ 样式绑定⑤ 事件绑定⑥ 获取原生DOM对象6.1 在组件模板中获取6.2 在组件类中获取 ⑦ 双向数据绑定⑧ 内容投影8.1 select选择器8.2 单槽投影8.3 多槽投影 ⑨ 安全操作…...
mysql 操作慢查询日志
1、mysql 批量插入300w数据 CREATE PROCEDURE test_insert_200w() BEGINDECLARE i INT;SET i1;WHILE i<3000000 DOINSERT INTO shop_user (password, telephone, username) VALUES (admin, 15510304125, concat(admin, i));SET ii1;END WHILE; END; //执行sql call test_in…...
illuminate/database 使用 二
上一篇文章写怎么单独使用illuminate/database,这回讲下怎么整合到项目里使用。为此特意看了下laravel对其使用。本篇文章,参照laravel的使用,简单实现。 一 原理 laravel 里使用illuminate/config。 illuminate/config composer 地址&…...
二叉树的概念
文章目录 二叉树一、树的概念1.树形结构1.1. 树的特点:1.2 概念:1.3 树的表示形式 2.树的应用 二、二叉树1.二叉数的概念2.满二叉树3.完全二叉树4.二叉树的性质练习: 二叉树 一、树的概念 1.树形结构 1.1. 树的特点: 1.根节点没…...
SpringCloud之Eureka的学习【详细】
目录 服务架构演变 单体架构 分布式架构 分布式架构需要考虑的问题 微服务 架构比较 微服务技术对比 服务拆分注意事项 案例 服务远程调用 RestTemplate Eureka注册中心 RestTemplate存在的问题 服务调用考虑的问题 Eureka的作用 搭建EurekaServer 服务注册 …...
学习ftp
文章目录 一、FTP介绍二、两种模式(主动模式和被动模式)三、FTP配置文件详解四、实际场景举例五、黑白名单六、网络限制 一、FTP介绍 1.FTP(File Transfer Protocol)是一种应用广泛且古老的互联网文件传输协议。 2.主要应用于互联…...
Android笔记(九):Compose组件的状态(一)
在使用Compose定义UI界面时,可以发现界面的变换往往与Compose组件内部的状态相关,当状态值发生变化时,Compose构成的可组合的界面也会刷新发生相应的变化。将在本笔记中将对可组合项的状态的定义、状态提升、状态丢失和状态的保存进行简单介绍…...
3.2. onnx export multi_batch
前言 将onnx bs=1 修改为多batch操作 参考链接: https://www.cnblogs.com/tangjunjun/p/16500116.html https://blog.csdn.net/weixin_43863869/article/details/128638397?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault…...
探索低代码PaaS平台的优势与选择原因
PaaS是一种云产品,它为应用程序的开发和部署提供基础结构。它提供中间件、开发工具和人工智能来创建功能强大的应用程序,大多数PaaS服务都与存储和网络基础架构捆绑在一起,就像基础架构即服务(IaaS)一样,可…...
AD教程(一)工程组成及创建
AD教程(一)工程组成及创建 工程组成 原理图库 绘制电阻模型、芯片模型、电容模型等,即将元件模型绘制出来。 原理图 将绘制的原件模型放置到原理图中,然后再添加连接的导线、网络标号。器件和器件之间的连接关系,在原…...
SAP业务从ECC升级到SAP S/4HANA有哪些变化?有哪些功能得到增强?
SAP在2015年推出了新一代商务套件SAP S/4 HANA。 SAP S/4 HANA (全称SAP Business suite 4 SAP HANA),这款新产品完全构建于目前先进的内存平台SAP HANA 之上,同时采用现代设计理念,通过SAP Fiori 提供精彩的用户体验 (UX)。提供比ECC更强大的功能。S/4h…...
常用conda和pip命令总结
conda 环境相关命令 conda 新建环境命令 conda create -n env_name pythonx.xenv_name 是环境名,自己换成所要创建的虚拟环境的名字 pythonx.x 是版本号,比如3.7,3.8这样 查看conda环境下所有的虚拟环境 conda info -e conda env list两条…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...
