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

这篇具有很好参考价值的文章主要介绍了第三章. Pandas入门—索引设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第三章. 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)

结果展示:
pandas索引,Python数据分析从入门到实践--明日科技,pandas,python,数据分析

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)

结果展示:
pandas索引,Python数据分析从入门到实践--明日科技,pandas,python,数据分析

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)

结果展示:
pandas索引,Python数据分析从入门到实践--明日科技,pandas,python,数据分析

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)

结果展示:
pandas索引,Python数据分析从入门到实践--明日科技,pandas,python,数据分析
文章来源地址https://www.toymoban.com/news/detail-610195.html

到了这里,关于第三章. Pandas入门—索引设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数据库概论】第三章 SQL简述、数据定义和索引

    最早在IBM的关系数据库管理系统原型SystemR上实现,后来美国国家标准局(ANSI)批准SQL作为关系数据库语言的美国标准,同年公布了SQL标准文本。近些年来SQL标准的内容越来越丰富和复杂。目前没有任何一个数据库系统能够支持SQL标准的所有概念和特性,同时不少软件厂商对

    2024年02月05日
    浏览(58)
  • KALI入门到高级【第三章】

    第一章 入门 1.1 什么是Kali Linux? 1.2 安装Kali Linux 1.3 Kali Linux桌面环境介绍 1.4 基本命令和工具 第二章 信息收集 1.1 网络扫描 1.2 端口扫描 1.3 漏洞扫描 1.4 社交工程学 第三章 攻击和渗透测试 1.1 密码破解 1.2 暴力破解 1.3 漏洞利用 1.4 特权升级 1.5 远程访问 1.6 数据包嗅探和欺骗

    2024年02月01日
    浏览(35)
  • webrtc 入门第三章 建立连接

    一、介绍 1、概述 ​ 在前面的章节我们学习了通过webrtc的基本操作实现了获取本地媒体流、音视频的获取与操作。在得到本地的媒体流后我们就需要将本地媒体数据发送到远端,远端街道媒体流后渲染可视化,从而达到通话的目的。 ​ RTCPeerConnection 连接的核心pai接口,使用

    2023年04月10日
    浏览(22)
  • javacv从入门到精通——第三章:基本使用

    JavaCV的基本结构如下: JavaCV核心类 :JavaCV核心类是JavaCV库的核心,它包括了JavaCV的所有功能和特性,可以用来进行计算机视觉和人工智能任务的开发和实现。JavaCV核心类的主要功能包括:视频捕获、视频编解码、图像处理、人脸检测、特征提取等。 基本数据类型: JavaCV库支

    2023年04月16日
    浏览(31)
  • 《Opencv3编程入门》学习笔记—第三章

    记录一下在学习《Opencv3编程入门》这本书时遇到的问题或重要的知识点。 一、图像的载入、显示和输出到文件 (一)OpenCV的命名空间 简单的OpenCV程序标配: (二)Mat类简析 表示从指定路径下把名为dota.jpg的图像载入到Mat类型的srcImage 变量中。 (三)图像的载入与显示概述

    2024年02月08日
    浏览(34)
  • pandas索引的设置与修改

    公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 本文主要是介绍Pandas中行和列索引的4个函数操作: set_index reset_index set_axis rename 快速回顾下Pandas创建索引的常见方法: pd.Index In [1]: In [2]: Out[2]: pd.IntervalIndex 新的间隔索引 IntervalIndex 通常使用 interval_range()函数来进

    2023年04月08日
    浏览(15)
  • python第三章作业(初级)

    任务描述 输入三个数a,b,c, 判断能否以它们为三个边长构成直角三角形。若能,输出YES,否则输出NO。 输入格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬ 输入包括三行,每行

    2023年04月10日
    浏览(34)
  • 《Jetpack Compose从入门到实战》第三章 定制 UI 视图

    -ui.theme.Color.kt ui.theme.Type.kt 先将Nunito Sans字体家族放入 res/font,再根据设计稿写代码 ui.theme/Shape.kt CompositionLocal 是 Jetpack Compose 中的一种数据传递方式。它可以在组合组件之间传递可变数据,而无需通过 props 或 state 管理器来传递数据。这个特性比传统的数据传递方式更为高效

    2024年02月07日
    浏览(31)
  • 【UnityShader入门精要学习笔记】第三章(1)Unity Shader介绍

    本系列为作者学习UnityShader入门精要而作的笔记,内容将包括: 书本中句子照抄 + 个人批注 项目源码 一堆新手会犯的错误 潜在的太监断更,有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 从本章节开始我们要学习Shader相关的知识了,诸位看客可能有的

    2024年02月02日
    浏览(49)
  • python 第三章——控制流详解

    Python教程目录 https://blog.csdn.net/weixin_50964512/article/details/130300085 上一章,我们大概了解了一下python中的所有数据类型,当作为一门编程语言,这还远远不够 在 1966 年,计算机科学家 Bohm 和 Jacopini 证明了这样的事实:任何简单或复杂的算法都可以由 顺序结构 、 选择结构 和 循

    2024年02月01日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包