pandas索引和复合索引

一、获取索引 index

import pandas as ps
import numpy as npa1 = ps.DataFrame(np.arange(8).reshape((2,4)),columns=["A","B","C","D"],index=["a","b"])
print(a1,"\n","#"*50)#    A  B  C  D
# a  0  1  2  3
# b  4  5  6  7print(a1.index,"\n","#"*50) # 获取a1的行索引# Index(['a', 'b'], dtype='object')

在这里插入图片描述

二、设置索引 index

import pandas as ps
import numpy as npa1 = ps.DataFrame(np.arange(8).reshape((2,4)),columns=["A","B","C","D"],index=["a","b"])
print(a1,"\n","#"*50)#    A  B  C  D
# a  0  1  2  3
# b  4  5  6  7a1.index = ["x","z"] # 指定a1的行索引
print(a1,"\n","#"*50)#    A  B  C  D
# x  0  1  2  3
# z  4  5  6  7

在这里插入图片描述

在这里插入图片描述

三、重设索引 reindex()

import pandas as ps
import numpy as npa1 = ps.DataFrame(np.arange(8).reshape((2,4)),columns=["A","B","C","D"],index=["a","b"])
print(a1,"\n","#"*50)#    A  B  C  D
# a  0  1  2  3
# b  4  5  6  7print(a1.reindex(["x","y"]),"\n","#"*50) # 重新设置index(因为本身没有y索引的一行,故全为NaN)#      A    B    C    D
# x  0.0  1.0  2.0  3.0
# y  NaN  NaN  NaN  NaN

在这里插入图片描述
在这里插入图片描述

四、将列索引下的元素设置为行索引 set_index()

import pandas as ps
import numpy as npa1 = ps.DataFrame(np.arange(8).reshape((2,4)),columns=["A","B","C","D"],index=["a","b"])
print(a1,"\n","#"*50)#    A  B  C  D
# a  0  1  2  3
# b  4  5  6  7print(a1.set_index("A",drop=False),"\n","#"*50) # 将某列索引下的元素设置为行索引(内部参数drop等于假时被设置为索引的那一列元素将不会消失,为真时将会消失)
print(a1.set_index("A").index,"\n","#"*50) # 输出设定后的索引#    B  C  D
# A
# 0  1  2  3
# 4  5  6  7

在这里插入图片描述在这里插入图片描述

五、去除重复的元素 unique()

import pandas as ps
import numpy as npa2 = ps.DataFrame(np.ones(8).reshape((2,4)),columns=["A","B","C","D"]) # 设置一个全为1的2*4的二维数组
print(a2,"\n","#"*50)#      A    B    C    D
# 0  1.0  1.0  1.0  1.0
# 1  1.0  1.0  1.0  1.0a2 = a2.set_index("A",drop=False) # 将A索引下的元素设置为行索引(索引可为相同的值)
print(a2,"\n","#"*50)print(a2.loc[1.0,"A"].unique(),"\n","#"*50) # unique()方法过掉重复的元素

在这里插入图片描述

六、复合索引 set_index([])

import pandas as ps
import numpy as npa2 = ps.DataFrame(np.ones(8).reshape((2,4)),columns=["A","B","C","D"]) # 设置一个全为1的2*4的二维数组(重新赋值)
a2 = a2.set_index(["A","B"],drop=False) # 复合索引,可以将多列设置为索引
print(a2,"\n","#"*50,"\n",a2.index) # 输出a2和它的索引

在这里插入图片描述

1、复合索引查找数值 loc
import pandas as ps
import numpy as npa3 = ps.DataFrame(np.arange(8).reshape((2,4)),columns=["A","B","C","D"])
print(a3,"\n","*"*50)
a3 = a3.set_index(["A","B"],drop=False) # 复合索引,可以将多列设置为索引
print(a3,"\n","*"*50)#      A  B  C  D
# A B
# 0 1  0  1  2  3
# 4 5  4  5  6  7print(a3.loc[0].loc[1,"C"],"\n","*"*50) # 通过loc方法一层一层索引到需要的数值

在这里插入图片描述
在这里插入图片描述

1、复合索引查找数值 swaplevel() + loc
import pandas as ps
import numpy as npa3 = ps.DataFrame(np.arange(8).reshape((2,4)),columns=["A","B","C","D"])
print(a3,"\n","*"*50)
a3 = a3.set_index(["A","B"],drop=False) # 复合索引,可以将多列设置为索引
print(a3,"\n","*"*50)#      A  B  C  D
# A B
# 0 1  0  1  2  3
# 4 5  4  5  6  7print(a3.swaplevel(),"\n","*"*50) # swaplevel() 将内索引和外索引调换位置#      A  B  C  D
# B A
# 1 0  0  1  2  3
# 5 4  4  5  6  7print(a3.swaplevel().loc[1,"C"]) # 用swaplevel() 方法调换了内外索引后就可以直接使用loc索引到需要的数值了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

索引格式的图片在PS软件中无法操作,怎么解决?

在计算机上打开photoshop,发现是索引模式,无法进行操作。应该修改为RGB模式即可。 索引模式图像,索引模式主要用于网络上以及某些对图像像素有严格要求的地方等的图像传输。Photoshop中的索引模式图像无法修改,必须更改为背景或图…

索引的概念和创建索引例子

1 索引的概念 索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。表的存储由两部分组成,一部分用来存放数据页面,另一部分存放索引页面。通常,索引页面…

主索引和二级索引区别,并创建一个二级索引

透明表索引有两种:分别是主索引和二级索引。 主索引是在我们创建表激活后由系统自动创建的,这个我们不能修改;二级索引可以我们自己创建。主索引是表的主键,二级索引可以根据你自己需要用到表的任何字段的组合来创建。在使用二级索…

【个人笔记】Photoshop打开图片为”索引颜色“模式

如下图: 遇到这种问题无法编辑,”图像“——”模式“——将”索引颜色“改为”RGB颜色“ 然后就可以编辑了。

Axure9汉化

Axure9汉化 Axure下载安装后是英文版本,使用的时候会有点别扭,看一个单词需要反应一段时间,影响工作效率。 下面就是如何汉化的步骤:1-5 1、首先我们需要根据你的版本下载汉化包,打开axure ,点击help--About Axure …

若干tif文件转换成pdf

方案1: (1)用imageJ把多个tif文件弄成一个整合的tif文件; (2)然后用smaurt打开,另存为pdf 失败告终。 方案二:留个坑,没找到合适的解决方案。

华为OD机试真题B卷 Java 实现【寻找关键钥匙】,附详细解题思路

一、题目描述 小强正在参加《密室逃生》游戏,当前关卡要求找到符合给定 密码K(升序的不重复小写字母组成)的箱子,并给出箱子编号,箱子编号为1~N。 每个箱子中都有一个字符串s,字符串由大写字母&#xff0…

LC-1130. 叶值的最小代价生成树(贪心、区间DP、单调栈)

1130. 叶值的最小代价生成树 难度中等272 给你一个正整数数组 arr,考虑所有满足以下条件的二叉树: 每个节点都有 0 个或是 2 个子节点。数组 arr 中的值与树的中序遍历中每个叶节点的值一一对应。每个非叶节点的值等于其左子树和右子树中叶节点的最大…

人工智能粒子群优化三大算法

粒子群优化是以邻域原理(neighborhood principle)为基础进行操作的,该原理来源于社会网络结构研究中。驱动粒子群优化的特性是社会交互作用。群中的个体(粒子)相互学习,而且基于获得的知识移动到更相似于它…

Golang每日一练(leetDay0082) 用队列实现栈、用栈实现队列

目录 225. 用队列实现栈 Implement Stack Using Queues 🌟 232. 用栈实现队列 Implement Queue Using Stacks 🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 …

PS07海报截剪和切片(标尺使用),PS08图框工具(剪贴蒙版),PS09吸管工具组(颜色取样)

PS07海报截剪和切片(标尺使用) PS08图框工具(剪贴蒙版)PS09吸管工具组(颜色取样)

ps制作太极图

最终效果: 操作步骤: (1)、 新建文件-800*800px,打开标尺,新建参考线、得到中心点。 ctrlr 打开标尺, 学会 拉 标尺线, 拉出两条标尺线,让其水平、垂直相交。 (2)、 椭圆选框-以中心点绘制正圆…

用ps制作太极图

操作步骤: (1)、 新建文件-800*800px,打开标尺,新建参考线、得到中心点。 ctrlr 打开标尺, 学会 拉 标尺线, 拉出两条标尺线,让其水平、垂直相交。 (2)、 椭圆选框-以中心点绘制正圆(按AltShi…

ps中怎样测量标尺线之间的距离及怎样切换距离单位

2019独角兽企业重金招聘Python工程师标准>>> 首先说一下,我用ps还不是很熟练,所以都是初级的问题,希望各位ps大神莫喷~~首先说一下怎么找到标尺呢?打开ps后,最上面有一个视图,点击后将标尺选项前…

前端ps基本操作

在还原设计时,我们需要使用 photoshop打开sd格式的设计,作为的工程师,我们不要太多的ps技巧,只需要了 一些简单的基本操作即可 1、alt 滚轮缩放放图片 2、空格鼠标左健拖动图片 3、shiftm切换选取工具,使用鼠标左键选择,ctrld可以取消选取 4、F8查看信息,可以查看选取内容的…

2.ps基本操作

提示:文章写完后,ps基本操作。 1、ps安装包 阿里云盘分享https://www.aliyundrive.com/s/XWxksTdanpW获取码:mp74 ps安装包 https://www.aliyundrive.com/s/XWxksTdanpW 提取码: mp74 点击链接保存,或者复制本段内容,打…

photoshop标尺工具_RulersGuides.js – Web上的Photoshop样式标尺和指南

关于Photoshop的最好的事情之一是其易于使用的指导线 ,可以从标尺上拉出。 这些指南可以使放置物品和正确放置天平时的设计过程变得更加容易。 令我们非常高兴的是, 马克罗利奇 ( Mark Rolich )实现了此特殊功能,以便…

chatgpt赋能python:Python中输入的全面介绍

Python中输入的全面介绍 在Python编程语言中,输入是指程序要求用户将内容输入到程序中进行处理。输入函数为input(),它允许用户直接在程序中输入数据。本文将全面介绍Python中输入的用法,包括如何使用input()函数、如何进行输入的类型转换以…

软件测试总结

软件生命周期(SDLC)的六个阶段 1、问题的定义及规划 此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。 2、需求分析 在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要…