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 25 Python
在Django中同时使用多个配置文件的方法
Jul 22 Python
Python实现根据IP地址和子网掩码算出网段的方法
Jul 30 Python
深入浅析Python中list的复制及深拷贝与浅拷贝
Sep 03 Python
浅谈python的dataframe与series的创建方法
Nov 12 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
Mar 30 Python
Python 堆叠柱状图绘制方法
Jul 29 Python
Python 安装 virturalenv 虚拟环境的教程详解
Feb 21 Python
python数据预处理 :数据抽样解析
Feb 24 Python
Python调用.net动态库实现过程解析
Jun 05 Python
keras实现VGG16 CIFAR10数据集方式
Jul 07 Python
python实现批量移动文件
Apr 05 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调用三种数据库的方法(3)
2006/10/09 PHP
Discuz! Passport 通行证整合
2008/03/27 PHP
双冒号 ::在PHP中的使用情况
2015/11/05 PHP
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
2010/03/17 Javascript
javascript定义函数的方法
2010/12/06 Javascript
javascript中的数字与字符串相加实例分析
2011/08/14 Javascript
jQuery读取和设定KindEditor值的方法
2013/11/22 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
Knockoutjs 学习系列(一)ko初体验
2016/06/07 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
js遮罩效果制作弹出注册界面效果
2017/01/25 Javascript
轻松学习Javascript闭包
2017/03/01 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
Web安全之XSS攻击与防御小结
2018/12/13 Javascript
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
jQuery 淡入/淡出效果函数用法分析
2020/05/19 jQuery
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
[45:06]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第二场 11.28
2020/12/02 DOTA
Python中的自定义函数学习笔记
2014/09/23 Python
Python工程师面试必备25条知识点
2018/01/17 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
Linux如何修改文件和文件夹的权限
2012/06/27 面试题
资料员岗位职责
2013/11/17 职场文书
幼儿园教师国培感言
2014/02/02 职场文书
决心书范文
2014/03/11 职场文书
2014年教研活动总结范文
2014/04/26 职场文书
春节慰问信范文
2015/02/15 职场文书
2015年教师节广播稿
2015/08/19 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
帮你提高开发效率的JavaScript20个技巧
2021/06/18 Javascript
vue-router中hash模式与history模式的区别
2021/06/23 Vue.js