Python酷库之旅-第三方库Pandas(192)

目录

一、用法精讲

891、pandas.Index.nunique方法

891-1、语法

891-2、参数

891-3、功能

891-4、返回值

891-5、说明

891-6、用法

891-6-1、数据准备

891-6-2、代码示例

891-6-3、结果输出

892、pandas.Index.value_counts方法

892-1、语法

892-2、参数

892-3、功能

892-4、返回值

892-5、说明

892-6、用法

892-6-1、数据准备

892-6-2、代码示例

892-6-3、结果输出

893、pandas.Index.set_names方法

893-1、语法

893-2、参数

893-3、功能

893-4、返回值

893-5、说明

893-6、用法

893-6-1、数据准备

893-6-2、代码示例

893-6-3、结果输出

894、pandas.Index.droplevel方法

894-1、语法

894-2、参数

894-3、功能

894-4、返回值

894-5、说明

894-6、用法

894-6-1、数据准备

894-6-2、代码示例

894-6-3、结果输出

895、pandas.Index.dropna方法

895-1、语法

895-2、参数

895-3、功能

895-4、返回值

895-5、说明

895-6、用法

895-6-1、数据准备

895-6-2、代码示例

895-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页
​​​​​​​

一、用法精讲

891、pandas.Index.nunique方法
891-1、语法
# 891、pandas.Index.nunique方法
pandas.Index.nunique(dropna=True)
Return number of unique elements in the object.Excludes NA values by default.Parameters:
dropna
bool, default True
Don’t include NaN in the count.Returns:
int
891-2、参数

891-2-1、dropna(可选,默认值为True)布尔值,如果为True,则在计算唯一值的数量时忽略 NaN 值(空值);如果为False,则NaN值也会被计算在内。

891-3、功能

        用于计算Index中的唯一值的数量,唯一值是指在Index中仅出现一次的值。

891-4、返回值

        返回一个整数,表示Index中的唯一值的数量。

891-5、说明

        无

891-6、用法
891-6-1、数据准备
891-6-2、代码示例
# 891、pandas.Index.nunique方法
import pandas as pd
# 创建一个Index对象
index = pd.Index([1, 2, 2, 3, 4, 4, 5, None])
# 计算唯一值的数量,忽略NaN值
nunique = index.nunique(dropna=True)
print(nunique)
# 计算唯一值的数量,包括NaN值
nunique = index.nunique(dropna=False)
print(nunique)  
891-6-3、结果输出
# 891、pandas.Index.nunique方法
# 5
# 6
892、pandas.Index.value_counts方法
892-1、语法
# 892、pandas.Index.value_counts方法
pandas.Index.value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True)
Return a Series containing counts of unique values.The resulting object will be in descending order so that the first element is the most frequently-occurring element. Excludes NA values by default.Parameters:
normalize
bool, default False
If True then the object returned will contain the relative frequencies of the unique values.sort
bool, default True
Sort by frequencies when True. Preserve the order of the data when False.ascending
bool, default False
Sort in ascending order.bins
int, optional
Rather than count values, group them into half-open bins, a convenience for pd.cut, only works with numeric data.dropna
bool, default True
Don’t include counts of NaN.Returns:
Series
892-2、参数

892-2-1、normalize(可选,默认值为False)表示控制是否返回相对频率,如果normalize=True,则返回的是每个值的相对频率(即占总数的比例),而不是绝对的频数;当normalize=False时,返回的是每个值的绝对出现次数。

892-2-2、sort(可选,默认值为True)表示控制返回结果是否按照频数排序,如果sort=True,则按频数从高到低排序;如果sort=False,则保留原始顺序。

892-2-3、ascending(可选,默认值为False)表示控制返回结果的排序顺序,当ascending=True时,结果按频数从低到高排序;当ascending=False时,结果按频数从高到低排序。

892-2-4、bins(可选,默认值为None)将数据分箱,适合连续数据,如果提供一个整数值,比如bins=10,则会将数据进行分箱(binning),返回每个箱中的数据频数,而不是每个唯一值的频数。

892-2-5、dropna(可选,默认值为True)表示控制是否排除NaN值,当dropna=True时,NaN值会被忽略;当dropna=False时,NaN值也会计入统计。

892-3、功能

        用于计算索引中各个唯一值的出现次数,并返回一个按频率排序的Series,该功能在数据分析中非常有用,特别是当需要了解数据的分布情况时。

892-4、返回值

        返回值是一个pandas.Series对象,其中索引为唯一值或区间,值为相应的频数或频率(当normalize=True时),返回的Series会根据sort和ascending参数的设定进行排序。

892-5、说明

        无

892-6、用法
892-6-1、数据准备
892-6-2、代码示例
# 892、pandas.Index.value_counts方法
import pandas as pd
index = pd.Index([1, 2, 2, 3, 3, 3, None, None, 4])
# 默认使用
result = index.value_counts()
# 自定义参数使用
result_normalized = index.value_counts(normalize=True)
result_bins = index.value_counts(bins=3)
result_dropna = index.value_counts(dropna=False)
print("默认频数统计:\n", result)
print("相对频率统计:\n", result_normalized)
print("分箱后的频数统计:\n", result_bins)
print("包括缺失值的频数统计:\n", result_dropna)
892-6-3、结果输出
# 892、pandas.Index.value_counts方法
# 默认频数统计:
#  3.0    3
# 2.0    2
# 1.0    1
# 4.0    1
# Name: count, dtype: int64
# 相对频率统计:
#  3.0    0.428571
# 2.0    0.285714
# 1.0    0.142857
# 4.0    0.142857
# Name: proportion, dtype: float64
# 分箱后的频数统计:
#  (0.996, 2.0]    3
# (2.0, 3.0]      3
# (3.0, 4.0]      1
# Name: count, dtype: int64
# 包括缺失值的频数统计:
#  3.0    3
# 2.0    2
# NaN    2
# 1.0    1
# 4.0    1
# Name: count, dtype: int64
893、pandas.Index.set_names方法
893-1、语法
# 893、pandas.Index.set_names方法
pandas.Index.set_names(names, *, level=None, inplace=False)
Set Index or MultiIndex name.Able to set new names partially and by level.Parameters:
nameslabel or list of label or dict-like for MultiIndex
Name(s) to set.Changed in version 1.3.0.levelint, label or list of int or label, optional
If the index is a MultiIndex and names is not dict-like, level(s) to set (None for all levels). Otherwise level must be None.Changed in version 1.3.0.inplacebool, default False
Modifies the object directly, instead of creating a new Index or MultiIndex.Returns:
Index or None
The same type as the caller or None if inplace=True.
893-2、参数

893-2-1、names(必需)表示要设置的索引名称,可以是单个字符串或字符串列表,如果是单个字符串,则将设置所有级别的名称;如果是字符串列表,则每个字符串对应一个级别的名称。

893-2-2、level(可选,默认值为None)指定要设置名称的级别,如果未指定,则设置所有级别的名称,可以是整数或字符串,表示级别的索引或名称。

893-2-3、inplace(可选,默认值为False)布尔值,如果为True,则直接修改原索引对象;如果为False,则返回一个新的索引对象。

893-3、功能

        设置索引的名称,包括多级索引的名称,可以设置所有级别的名称,也可以指定某个级别的名称。

893-4、返回值

        如果inplace=False(默认),则返回一个新的索引对象,其名称已被设置;如果inplace=True,则不返回任何值,直接修改原索引对象。

893-5、说明

        无

893-6、用法
893-6-1、数据准备
893-6-2、代码示例
# 893、pandas.Index.set_names方法
import pandas as pd
# 创建一个多级索引
index = pd.MultiIndex.from_tuples([('A', 'a'), ('A', 'b'), ('B', 'a'), ('B', 'b')])
# 设置所有级别的名称
index = index.set_names(['一级', '二级'])
print("设置所有级别的名称后:", index.names)
# 直接在原索引对象上修改名称(使用 inplace=True)
index.set_names(['一级', '新二级'], inplace=True)
print("直接在原索引对象上修改名称后:", index.names)  
893-6-3、结果输出
# 893、pandas.Index.set_names方法
# 设置所有级别的名称后: ['一级', '二级']
# 直接在原索引对象上修改名称后: ['一级', '新二级']
894、pandas.Index.droplevel方法
894-1、语法
# 894、pandas.Index.droplevel方法
final pandas.Index.droplevel(level=0)
Return index with requested level(s) removed.If resulting index has only 1 level left, the result will be of Index type, not MultiIndex. The original index is not modified inplace.Parameters:
level
int, str, or list-like, default 0
If a string is given, must be the name of a level If list-like, elements must be names or indexes of levels.Returns:
Index or MultiIndex
894-2、参数

894-2-1、level(可选,默认值为0)int或者str或者list,指定要删除的层级索引,当只有一个层级时,无法删除,会引发错误。

  • int:表示要删除的层级索引的索引号,索引层级从0开始计数。
  • str:表示要删除的层级索引的名称,如果MultiIndex的层级索引有名称,可以直接指定名称删除。
  • list:如果有多个层级要删除,可以提供一个包含层级索引的列表。
894-3、功能

        删除指定的索引层级,当你在pandas中使用多层索引时,有时可能希望简化索引层级,去除某一层索引,这时可以用droplevel来完成。

894-4、返回值

        返回一个新的Index或者MultiIndex对象,返回的索引类型取决于删除层级后的剩余层数:

  • 如果删除后只剩下单层索引,则返回一个普通的Index对象。
  • 如果删除后仍有多层,则返回一个MultiIndex对象。
894-5、说明

        无

894-6、用法
894-6-1、数据准备
894-6-2、代码示例
# 894、pandas.Index.droplevel方法
# 894-1、删除单层索引
import pandas as pd
index = pd.MultiIndex.from_tuples([(1, 'a'), (2, 'b'), (3, 'c')], names=['number', 'letter'])
df = pd.DataFrame({'value': [10, 20, 30]}, index=index)
print(df)
df.index = df.index.droplevel(level='number')
print(df, end='\n\n')# 894-2、删除多层索引
import pandas as pd
index = pd.MultiIndex.from_tuples([(1, 'a', 'X'), (2, 'b', 'Y'), (3, 'c', 'Z')], names=['number', 'letter', 'code'])
df = pd.DataFrame({'value': [10, 20, 30]}, index=index)
print(df)
df.index = df.index.droplevel(level=['number', 'letter'])
print(df)
894-6-3、结果输出
# 894、pandas.Index.droplevel方法
# 894-1、删除单层索引
#                value
# number letter
# 1      a          10
# 2      b          20
# 3      c          30
#         value
# letter
# a          10
# b          20
# c          30# 894-2、删除多层索引
#                    value
# number letter code       
# 1      a      X        10
# 2      b      Y        20
# 3      c      Z        30
#       value
# code       
# X        10
# Y        20
# Z        30
895、pandas.Index.dropna方法
895-1、语法
# 895、pandas.Index.dropna方法
pandas.Index.dropna(how='any')
Return Index without NA/NaN values.Parameters:
how
{‘any’, ‘all’}, default ‘any’
If the Index is a MultiIndex, drop the value when any or all levels are NaN.Returns:
Index
895-2、参数

895-2-1、how(可选,默认值为'any')字符串,可选值有:

  • 'any': 如果索引中有任何缺失值(NaN),则返回一个不包含这些缺失值的新索引。
  • 'all': 如果索引中的所有元素都是缺失值,将返回该索引空的副本。
895-3、功能

        从Index对象中删除缺失值,有助于在数据处理和分析时清理索引,使其只包含有效的(非缺失的)值。

895-4、返回值

        返回一个新的Index对象,其中不包含已删除的缺失值(NaN),如果所有值都被删除(在'all'的情况下)或原索引中没有缺失值(在'any'的情况下),则返回的Index对象可能和原索引相同或为空。

895-5、说明

        无

895-6、用法
895-6-1、数据准备
895-6-2、代码示例
# 895、pandas.Index.dropna方法
import pandas as pd
import numpy as np
# 创建一个含有缺失值的索引
index = pd.Index([1, 2, np.nan, 4, 5, np.nan])
# 删除任何缺失值
new_index_any = index.dropna(how='any')
print(new_index_any)
# 如果删除所有缺失值
new_index_all = index.dropna(how='all')
print(new_index_all)  
895-6-3、结果输出
# 895、pandas.Index.dropna方法 
# Index([1.0, 2.0, 4.0, 5.0], dtype='float64')
# Index([1.0, 2.0, 4.0, 5.0], dtype='float64')

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

光控资本:普通股东、控股股东、大股东、实际控制人都是什么意思?

1、一般股东 一般股东是指持有公司一般股股份的出资者。一般股是指在公司的经营管理和盈利及财产的分配上享有一般权力的股份。 一般股的权力: 1、获得股利的权力。一般股股东在股市付出完债息、优先股股息后,能够获得股利,具体有多少要看…

SELS-SSL/TLS

一、了解公钥加密(非对称加密) 非对称加密中,用于加密数据的密钥与用于解密数据的密钥不同。私钥仅所有者知晓,而公钥则可自由分发。发送方使用接收方的公钥对数据进行加密,数据仅能使用相应的私钥进行解密。 你可以将…

openfoam中生成的3d案例提取得到slice后的2d案例

问题: 由于前期准备做3d的案例,并且模拟也比较费时间,现在生成了几十份3d的数据,但是现在只想要2d的数据来演示,该如何提取或者转换呢? 解决方法: 1.说明图片中的每个2d视图的points都是恒定不…

【SPIE出版,EI检索稳定】2024年人机交互与虚拟现实国际会议(HCIVR 2024,11月15-17日)

2024年人机交互与虚拟现实国际会议(HCIVR 2024) 2024 International Conference on Human-Computer Interaction and Virtual Reality 官方信息 会议官网:www.hcivr.org 2024 International Conference on Human-Computer Interaction and …

计算机网络 -- HTTP 协议详解

根据以往的内容我们可以得知,大多数网络协议一共有五层标准,今天我们将 探索 应用层的 HTTP 协议。 一 什么是HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则。 HTTP 协议 ,全称超文本传输协议 &#…

算法【Java】—— 动态规划之斐波那契数列模型

动态规划 动态规划的思路一共有五个步骤: 状态表示:由经验和题目要求得出,这个确实有点抽象,下面的题目会带大家慢慢感受状态标识状态转移方程初始化:避免越界访问 dp 表,所以在进行填表之前我们要预先填…

kafka使用指南

文章目录 前言特点架构一、zookeeper安装配置二、kafka安装配置三、快去试一下吧!下一章:kafka命令之分区接入创建删除 前言 随着大数据时代的到来,高吞吐量的分布式发布订阅消息系统kafka得到了极大的应用,它具有高吞吐量、 特点 高吞吐量…

Windows 服务器中用户的分类

Windows 服务器中用户的分类 本地用户(只能在本地登录)如果你的服务器升级为域成员服务器,即刻失去本地服务。 漫游用户(域用户就是漫游用户,可用在域内的任何一个设备上、且在权限允许的范围内进行登录和资源使用。 …

基于YOLO11/v10/v8/v5深度学习的建筑墙面损伤检测系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 👍感谢小伙伴们点赞、关注! 《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发…

Sublime Text 的PHP格式化插件phpfmt 的 setting 配置参数说明

phpfmt.sublime-settings 是 Sublime Text 中 phpfmt 插件的配置文件,用于定义代码格式化的各种参数。以下是一些常见的配置参数及其说明: 1、version 指定配置文件的版本,根据 phpfmt 插件的版本,此值可能有所不同。 2、php_b…

Oracle视频基础1.2.1练习

1.2.1 需求: 完整格式查看所有用户进程判断oracle启动状态 连接sqlplus不登陆 以sysdba身份登陆,通过登陆信息判断oracle启动状态 启动数据库,查系统全局区动态组件表 使用shell,启动监听然后返回sql ps -ef sqlplus /nolog con…

Ajax学习

目录 一、是什么 二、jQuery.ajax 三、初实现 四、再实现 五、应用 一、是什么 AJAX:Asynchronous JavaScript and XML(异步的JavaScript和XML) 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术 应用&#…

音频中sample rate是什么意思?

‌sample rate‌在数字信号处理中,指的是‌采样频率‌,即每秒钟从连续信号中抽取的样本数量。采样频率越高,信号的还原度越高,但同时也会增加计算负担和存储需求‌。 实际应用场景 在音频处理中,设置合适的采样率可以…

RabbitMQ客户端应用开发实战

这一章节我们将快速完成RabbitMQ客户端基础功能的开发实战。 一、回顾RabbitMQ基础概念 这个RabbitMQ的核心组件,是进行应用开发的基础。 二、RabbitMQ基础编程模型 RabbitMQ提供了很多种主流编程语言的客户端支持。这里我们只分析Java语言的客户端。 上一章节提…

【光交换器件】

一、ROADM ROADM节点通常由波长选择开关(WSS)和其他模块组成。 ROADM分类 光网络交叉能力分类 Colorless(波长无关) Directionless(方向无关) Contentionless(竞争无关) Flexi-G…

docker的安装配置与基本简单命令

目录 1.docker简介 2.docker安装 2.1使用root用户登陆 更新yum源 2.2安装依赖 2.3设置yum源 更新yum源索引 2.4安装docker 2.5启动并且设置开机自启动 2.6验证安装是否成功 2.7配置docker加速器 2.8重启docker服务 3.docker简单使用 3.1下载镜像 3.2列出…

第72期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

Fx-LMS 单片机

功能:主动降噪控制器 开发板连接麦克风,通过ADC或其他方式采集声音信号。采集到的声音信号经过开发板内置的Fx-LIIS主动降噪算法处理,生成反向声波信号,并通过DAC输出至扬声器进行播放。通过反向声波与原声波叠加,达到…

web前端3D旋转相册(附完整代码)

效果图 当鼠标移动到目标时&#xff0c;外层的图片会张开&#xff0c;外面的图片修改透明度为0.5达到想要的效果。 完整代码 HTML部分 这里用的是绝对路径&#xff0c;一般建议使用相对路径&#xff08;..代表上一级&#xff0c;.代表当前文件夹&#xff09; <!DOCTYPE …

新老项目不同node版本,使用nvm控制node版本切换(mac、window)

window系统电脑的链接&#xff1a;https://blog.csdn.net/qq_40269801/article/details/136450961 以下是mac版本的操作方式&#xff1a; 1、打开终端 克隆 NVM 仓库&#xff1a; git clone https://github.com/nvm-sh/nvm.git ~/.nvm 2、运行安装脚本&#xff1a; cd ~/.n…