第三章. Pandas入门—索引设置

2023-11-19

第三章. Pandas入门

3.8 索引设置

1. 索引的作用:

  1).更方便的查询数据
  2).使用索引可以提升查询性能
     · 如果索引是唯一的,Pandas会使用哈希表优化,查找数据的时间复杂度为O(1)
     · 如果索引不是唯一的,但是有序,Pandas会使用二分查找算法,查找数据的时间复杂度为O(logN)
     · 如果索引是完全随机的,那么每次查找数据都需要扫描数据表,时间复杂度是O(N)
  3).强大的数据结构

2. 重新设置索引:

1).函数格式:

DataFrame.reindex((labels=None, index=None, columns=None, axis=None, method=None, copy=True, level=None, fill_value=nan, limit=None, tolerance=None)

参数说明:
labels:可以是数组
index:行索引
columns:列索引
axis:0:表示行 1:表示列
method:重新设置索引时,选择的差值方式:None,bfill(向后填充),ffill(向前填充)
fill_value:缺失值填充的数据

2)对Series对象重新设置索引:

import pandas as pd
# 对Series对象重新设置索引
s1 = pd.Series([100, 110, 120], index=[1, 2, 3])
print(s1)
print('*' * 50)
s2 = s1.reindex(index=[1, 2, 3, 's1', 's2'], fill_value=0)
print(s2)
print('*' * 50)
s3 = s1.reindex(index=[1, 2, 3, 4, 5], method='ffill')
print(s3)
print('*' * 50)
s4 = s1.reindex(index=[1, 2, 3, 4, 5], method='bfill')
print(s4)
print('*' * 50)

结果展示:
在这里插入图片描述

3).对DataFrame对象重新设置索引:

import pandas as pd

# 对DataFrame对象重新设置索引
pd.set_option('display.unicode.east_asian_width', True)
data = [[60, 70, 80], [90, 100, 110], [120, 130, 140]]
index = ['xiaoming', 'xiaomei', 'xiaoqiang']
column = ['yuwen', 'shuxue', 'yingyu']
s1 = pd.DataFrame(data=data, index=index, columns=column)
print(s1)
print('*' * 50)

s2 = s1.reindex(index=['xiaoming', 'xiaomei', 'xiaoqiang','小明'], columns=['yuwen', 'shuxue', 'yingyu', '化学'], fill_value=0)
print(s2)
print('*' * 50)

结果展示:
在这里插入图片描述

3.设置某列为行索引:

主要使用DataFrame对象中的set_index方法,语法如下:

DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)

参数说明:
keys.列标签或列标签/数组列表 需要设置为索引的列
drop.默认为True 删除用作新索引的列
append.是否将列附加到现有索引 默认为False
inplace.布尔类型 表示当前操作是否对原数据生效 默认为False
verify_integrity.检查新索引的副本 将其设置为False将提高该方法的性能 默认为false

1).设某列为行索引:
import pandas as pd

pd.set_option("display.unicode.east_asian_width", True)
df = pd.read_excel('D:\\MTF_data.xlsx')
print(df)
print('*' * 50)

# 设某列为行索引
df1 = df.set_index(['SFR'])
print(df1)
print('*' * 50)

结果展示:
在这里插入图片描述

2).数据清洗或删除后重新设置连续的行索引:
DataFrame.reset_index(level=None, drop=False, inpalce=False, col_level=0, col_fill=' ')

参数说明:
level.数值类型 int、str、tuple或list 默认无 删除所有级别的索引,指定level 删除指定级别
drop.当指定 drop=False 时,则索引列会被还原为普通列;否则,经设置后的新索引值被会丢弃 默认为False
inplace.布尔类型 是否修改原始数据框 默认False
col_level.数值类型 int、str 默认值为0,如果列有多个级别,则确定将标签插入到哪个级别。默认情况下,它将插入到第一级。指定重置后的级别)
col_fill.object 默认‘’,如果列有多个级别,则确定其他级别的命名方式。如果没有,则重复索引名。

import pandas as pd

pd.set_option("display.unicode.east_asian_width", True)
df = pd.read_excel('D:\\MTF_data.xlsx')
print(df)
print('*' * 50)

#数据重洗后重新设置连续的行索引
df1 = df.dropna().reset_index(drop=True)
print(df1)
print('*' * 50)

结果展示:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第三章. Pandas入门—索引设置 的相关文章

随机推荐

  • 人工智能数学基础--极大似然估计

    极大似然估计 极大似然估计的原理 用一张图片来说明 如下图所示 原理 极大似然估计是建立在极大似然原理的基础上的一个统计方法 是概率论在统计学中的应用 极大似然估计提供了一种给定观察数据来评估模型参数的方法 即 模型已定 参数未知 通过若干
  • 【Linux】--make/makefile--gcc/g++/gdb

    文章目录 make makefile 概念 Makefile make gcc g gdb gcc g 预处理 编译 汇编 链接 静态链接 动态链接 选项操作 gdb 总结 make makefile 概念 make是Linux下的一条指令
  • 【运维实战】1.FastDFS分布式的文件存储系统入门介绍与实践

    本章目录 0x00 基础介绍 0 前言 1 简介 2 特性 3 架构 Tracker Server Storage Server Client 4 存储策略 5 过程剖析 文件上传 Upload 文件下载 Download 文件访问 HTT
  • 一个很好的开源CRM项目

    http www sugarcrm com 还有简体中文包 是个CRM软件 PHP搞的 打算开始研究之
  • centos安装jdk,tomcat,mysql等软件

    环境列表 VMware workstation full 12 1 0 3272444 exe 虚拟机 putty exe 客户端 CentOS 7 x86 64 DVD 1708 iso centos镜像 windows7旗舰版 jdk
  • uniapp打包app后,ios端微信登录报错,login:fail [:-1]未能完成操作。(PGWXAPI错误-1。)

    报错内容 errMsg login fail 1 未能完成操作 PGWXAPI错误 1 errCode 100 code 100 报错原因 在manifest json文件 视图模式里面只有appid和 ios平台通用链接两个配置 需要在m
  • 谁能告诉我war包的作用及使用方法。。。。。。

    链接地址 http zhidao baidu com link url iliyTcmsTKb1K4gHMtWUsRIBaXglyOKIQsWwdrgvydvnaUHLe0KEoHvLVz8tLYCjZmvAebFC3srXZEbhW AV
  • Metap:希望通过利用 AI 功能来改变 Metaverse 游戏生态系统

    元宇宙是一个概念 它只会随着时间的推移和让更多的人了解后而越来越受欢迎 因此 了解元宇宙能够更好地利用这种新技术的某些项目是很重要的 能够做到这一点的 一个特殊领域 游戏世界 元宇宙与游戏的关系 将元宇宙的功能与游戏空间放在一起使用并不是一
  • 硬件接口引脚定义(持续更新)

    英文各类硬件接口定义网站 https pinouts ru conn 1 SATA接口引脚定义 2 mSATA接口引脚定义 3 各类USB接口引脚定义 引脚 功能 接线颜色 备注 1 VCC 红色 电源正极 2 Data DM 白色 数据
  • ubuntu配置环境重要网址

    ping不通百度且报错 ping www baidu com Temporary failure in name resolution 的解决方案 https blog csdn net yulei qq article details 1
  • C语言在线代码运行编译工具推荐

    C语言在线运行编译 是一款可在线编程编辑器 在编辑器上输入C语言代码 点击运行 可在线编译运行C语言 C语言代码在线运行调试 C语言在线编译 可快速在线测试您的C语言代码 在线编译C语言代码发现是否存在错误 如果代码测试通过 将会输出编译后
  • V2017+CMake+DCMTK编译安装帮助文档

    转载自https blog csdn net annjeff article details 80899762 一 前言 最近由于项目需要 开始接触DCMTK库 作为一个小白在网上一顿狂搜 看了几天的CSDN博客 终于有了一点头绪 在这个过
  • rpc、gRPC快速入门,python调用,protobuf协议

    什么是rpc grpc又是什么 什么是RPC 远程过程调用协议RPC Remote Procedure Call Protocol RPC是指远程过程调用 也就是说两台服务器A B 一个应用部署在A服务器上 想要调用B服务器上应用提供的函数
  • JavaScript 记录易错点

    1 判断是否是数组的方法 Array isArray 2 获取数组长度用属性 length 不是 length 3 数组添加或删除元素 arrayObject splice index howmany item1 itemX index 必
  • docker 部署springboot(成功、截图)

    1 新建sringboot工程并打包 2 编写Dockerfile文件 基础镜像使用java FROM openjdk 8 作者 MAINTAINER feng VOLUME 指定了临时文件目录为 tmp 其效果是在主机 var lib d
  • 出行者信息服务器,出行者信息服务系统解析.ppt

    出行者信息服务系统解析 ppt ppt 制作 陈倩 ppt 审查 侯湘怡 讲解人 张怀韧 引言 出行者信息服务系统 一 出行者信息服务系统综述 二 出行者信息系统的系统构成及结构框架 三 出行者信息系统的作用 特点与效果 四 出行者信息系统
  • Databend 存储架构总览

    目的 通过本篇文章带大家理解一下 Databend 的存储结构 Databend 内置的 Table 引擎为 Fuse table engine 也是接下来要花重点篇幅要讲的 另外 Databend 还支持外置的 Hive table 及
  • win10病毒和威胁防护无法重新启动解决方法

    1 检查电脑中是否安装了任何的第三方反病毒软件 例如 360 腾讯电脑管家等 如果有的话 麻烦您将其卸载 卸载完毕后重启设备 再看一下病毒和威胁防护能否正常启动 2 按 Windows 徽标键 X 启动 Windows PowerShell
  • nofollow标签的作用 nofollow标签添加方法

    nofollow标签的作用 nofollow标签添加方法 nofollow标签是seo优化常用的一个标签 它的作用是告诉搜索引擎不要追踪这个链接 也就是阻止搜索引擎向这个网页或链接传递权重 nofollow有两种写法 1 将 nofollo
  • 第三章. Pandas入门—索引设置

    第三章 Pandas入门 3 8 索引设置 1 索引的作用 1 更方便的查询数据 2 使用索引可以提升查询性能 如果索引是唯一的 Pandas会使用哈希表优化 查找数据的时间复杂度为O 1 如果索引不是唯一的 但是有序 Pandas会使用二