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的web框架中的Model的教程
Apr 29 Python
python3 实现的人人影视网站自动签到
Jun 19 Python
一文总结学习Python的14张思维导图
Oct 17 Python
Python3中的列表生成式、生成器与迭代器实例详解
Jun 11 Python
python 字典 按key值大小 倒序取值的实例
Jul 06 Python
Python Opencv任意形状目标检测并绘制框图
Jul 23 Python
Python中断多重循环的思路总结
Oct 04 Python
python生成特定分布数的实例
Dec 05 Python
Python测试线程应用程序过程解析
Dec 31 Python
Keras loss函数剖析
Jul 06 Python
Python 数据的累加与统计的示例代码
Aug 03 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
Jan 27 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 IP及IP段进行访问限制的代码
2008/12/17 PHP
PHP SESSION的增加、删除、修改、查看操作
2015/03/20 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
2017/03/02 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
laravel 5.3 单用户登录简单实现方法
2019/10/14 PHP
laravel 错误处理,接口错误返回json代码
2019/10/25 PHP
jquery用get实现ajax在ie里面刷新不进入后台解决方法
2013/08/12 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
2013/12/31 Javascript
详解JavaScript中undefined与null的区别
2014/03/29 Javascript
javascript移动设备Web开发中对touch事件的封装实例
2014/06/05 Javascript
nodejs实现黑名单中间件设计
2014/06/17 NodeJs
JavaScript中的原型和继承详解(图文)
2014/07/18 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
javascript基础知识讲解
2017/01/11 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
angular.js指令中的controller、compile与link函数的不同之处
2017/05/10 Javascript
Bootstrap提示框效果的实例代码
2017/07/12 Javascript
vue上传图片组件编写代码
2017/07/26 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
vue-i18n实现中英文切换的方法
2020/07/06 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
2020/07/29 Javascript
vue实现验证用户名是否可用
2021/01/20 Vue.js
python 3.7.0 下pillow安装方法
2018/08/27 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
django mysql数据库及图片上传接口详解
2019/07/18 Python
python中struct模块之字节型数据的处理方法
2019/08/27 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
个人安全承诺书
2014/05/22 职场文书
应聘教师自荐书
2014/06/16 职场文书
车位出租协议书范本
2016/03/19 职场文书
详解Python 3.10 中的新功能和变化
2021/04/28 Python