pandas带有重复索引操作方法


Posted in Python onJune 08, 2018

有的时候,可能会遇到表格中出现重复的索引,在操作重复索引的时候可能要注意一些问题。

一、判断索引是否重复

a、Series索引重复判断

s = Series([1,2,3,4,5],index=["a","a","b","b","c"]) 
print(s.index.is_unique) 
#False

Series.index.is_unique为False表示索引重复。

b、DataFrame索引重复判断

a = np.arange(9).reshape(3,3) 
data = DataFrame(a,index=["a","b","c"],columns=["one","two","one"]) 
#判断行索引是否重复 
print(data.index.is_unique) 
#True 
#判断列索引是否重复 
print(data.columns.is_unique) 
#False

二、索引取值

如果一个索引对应多个值,Series返回的是一个Series。如果一个索引对应一个值的时候,Series返回的是一个标量,DataFrame返回的是始终是一个DataFrame。

a、Series的索引取值

s = Series([1, 2, 3, 4, 5], index=["a", "a", "b", "b", "c"])
 print(type(s["a"]))
 #<class 'pandas.core.series.Series'>
 print(s["a"])
 '''
 a 1
 a 2
 '''
 #选取第一个a
 print(s[:1])
 #a 1
 print(s[[0]])
 #a 1

b、DataFrame的索引取值

a = np.arange(9).reshape(3,3)
 data = DataFrame(a,index=["a","b","b"],columns=["one","two","one"])
 #对行进行选取
 print(type(data.ix["b"]))
 #<class 'pandas.core.frame.DataFrame'>
 print(data.ix["b"])#与data.xs("b")等价
 '''
 one two one
 b 3 4 5
 b 6 7 8
 '''
 #选取第二行
 print(type(data.ix[1:2]))#与data[1:2]等价
 #<class 'pandas.core.frame.DataFrame'>
 print(data.ix[1:2])
 #b 3 4 5
 print(data.ix[[1]])
 #b 3 4 5

 #对列进行选取
 print(data["one"])#等价于data.one 或 data.xs("one",axis=1)
 '''
 one one
 a 0 2
 b 3 5
 b 6 8
 '''
 #选取第一列
 print(data.ix[:,0])
 '''
 a 0
 b 3
 b 6
 '''
 print(data.ix[:,:1])
 '''
 one
 a 0
 b 3
 b 6
 '''

以上这篇pandas带有重复索引操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现的数据结构与算法之链表详解
Apr 22 Python
使用Python脚本来获取Cisco设备信息的示例
May 04 Python
对Python2与Python3中__bool__方法的差异详解
Nov 01 Python
Python 从列表中取值和取索引的方法
Dec 25 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
Jun 19 Python
python文件处理fileinput使用方法详解
Jan 02 Python
TensorFLow 不同大小图片的TFrecords存取实例
Jan 20 Python
代码总结Python2 和 Python3 字符串的区别
Jan 28 Python
keras的siamese(孪生网络)实现案例
Jun 12 Python
Python基于xlutils修改表格内容过程解析
Jul 28 Python
Python3 用matplotlib绘制sigmoid函数的案例
Dec 11 Python
利用Python实现自动扫雷小脚本
Dec 17 Python
使用python爬取B站千万级数据
Jun 08 #Python
pandas表连接 索引上的合并方法
Jun 08 #Python
详谈Pandas中iloc和loc以及ix的区别
Jun 08 #Python
python实现人人自动回复、抢沙发功能
Jun 08 #Python
利用Python写一个爬妹子的爬虫
Jun 08 #Python
python os用法总结
Jun 08 #Python
Python DataFrame 设置输出不显示index(索引)值的方法
Jun 07 #Python
You might like
一道关于php变量引用的面试题
2010/08/08 PHP
php实现插入排序
2015/03/29 PHP
PHP新特性详解之命名空间、性状与生成器
2017/07/18 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
2018/12/21 PHP
用js实现的仿sohu博客更换页面风格(简单版)
2007/03/22 Javascript
JavaScript Cookie显示用户上次访问的时间和次数
2009/12/08 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
2011/08/28 Javascript
JavaScript闭包详解
2015/02/02 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
JavaScript实现添加及删除事件的方法小结
2015/08/04 Javascript
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
扫微信小程序码实现网站登陆实现解析
2019/08/20 Javascript
Vue实现商品详情页的评价列表功能
2019/09/04 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
一些常用的Python爬虫技巧汇总
2016/09/28 Python
使用Python写一个小游戏
2018/04/02 Python
python代码打印100-999之间的回文数示例
2019/11/24 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
浅析python 定时拆分备份 nginx 日志的方法
2020/04/27 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
ASOS比利时:英国线上零售商及自有品牌
2018/07/29 全球购物
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
建筑毕业生自我鉴定
2013/10/18 职场文书
父亲八十大寿答谢词
2014/01/23 职场文书
个人自我评价范文
2014/02/05 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
人事经理岗位职责范本
2014/08/04 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
2014年员工工作总结范文
2014/11/18 职场文书
2014年保险业务员工作总结
2014/12/23 职场文书
团代会开幕词
2015/01/28 职场文书
英语通知范文
2015/04/22 职场文书
详解CSS不受控制的position fixed
2021/05/25 HTML / CSS
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript