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抓取Discuz!用户名脚本代码
Dec 30 Python
浅谈Python中的闭包
Jul 08 Python
Python文件与文件夹常见基本操作总结
Sep 19 Python
python 保存float类型的小数的位数方法
Oct 17 Python
用python生成1000个txt文件的方法
Oct 25 Python
python pandas时序处理相关功能详解
Jul 03 Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 Python
Python 读取 YUV(NV12) 视频文件实例
Dec 09 Python
Django如何使用jwt获取用户信息
Apr 21 Python
Python实现UDP程序通信过程图解
May 15 Python
python 发送邮件的四种方法汇总
Dec 02 Python
解决pytorch-gpu 安装失败的记录
May 24 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
phpMyAdmin下载、安装和使用入门教程
2007/05/31 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
2015/01/29 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
2016/01/08 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
jQuery判断元素是否是隐藏的代码
2011/04/24 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
2017/01/11 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
2017/03/09 Javascript
zTree树形菜单交互选项卡效果的实现方法
2017/12/25 Javascript
Vuex提升学习篇
2018/01/11 Javascript
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
vue项目中在外部js文件中直接调用vue实例的方法比如说this
2019/04/28 Javascript
js获取本日、本周、本月的时间代码
2020/02/01 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
[01:19:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第二局
2016/03/05 DOTA
Python strip lstrip rstrip使用方法
2008/09/06 Python
python正则实现计算器功能
2017/12/14 Python
python设置值及NaN值处理方法
2018/07/03 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
详解python配置虚拟环境
2019/04/08 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
Python判断三段线能否构成三角形的代码
2020/04/12 Python
python使用自定义钉钉机器人的示例代码
2020/06/24 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
英国定做窗帘和纺织品面料一站式商店:Dekoria
2018/08/29 全球购物
DIY蛋糕店的创业计划书范文
2013/12/26 职场文书
竞选生活委员演讲稿
2014/04/28 职场文书
银行授权委托书样本
2014/10/13 职场文书
2014年科室工作总结
2014/11/20 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
Python+Appium实现自动抢微信红包
2021/05/21 Python