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操作MySQL数据库具体方法
Oct 28 Python
浅析Python中else语句块的使用技巧
Jun 16 Python
Python爬虫DOTA排行榜爬取实例(分享)
Jun 13 Python
python实现requests发送/上传多个文件的示例
Jun 04 Python
Python中pandas模块DataFrame创建方法示例
Jun 20 Python
python读取word文档,插入mysql数据库的示例代码
Nov 07 Python
Django开发的简易留言板案例详解
Dec 04 Python
python3中类的继承以及self和super的区别详解
Jun 26 Python
Pytorch 实现数据集自定义读取
Jan 18 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
Oct 22 Python
python 基于selenium实现鼠标拖拽功能
Dec 24 Python
Python爬虫:从m3u8文件里提取小视频的正确操作
May 14 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 按位与或 (^ 、&amp;)
2013/06/21 PHP
PHP实现生成透明背景的PNG缩略图函数分享
2014/07/08 PHP
php实现MySQL数据库备份与还原类实例
2014/12/09 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
Js 弹出框口并返回值的两种常用方法
2010/12/30 Javascript
js onmousewheel事件多次触发问题解决方法
2014/10/17 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
NodeJS实现视频转码的示例代码
2017/11/18 NodeJs
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
JS计算两个时间相差分钟数的方法示例
2018/01/10 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
python 实现插入排序算法
2012/06/05 Python
python time模块用法实例详解
2014/09/11 Python
python3.5实现socket通讯示例(TCP)
2017/02/07 Python
Python matplotlib学习笔记之坐标轴范围
2019/06/28 Python
Python实现某论坛自动签到功能
2019/08/20 Python
解决pycharm最左侧Tool Buttons显示不全的问题
2019/12/17 Python
代码总结Python2 和 Python3 字符串的区别
2020/01/28 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
canvas实现手机的手势解锁的步骤详细
2020/03/16 HTML / CSS
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
Currentbody澳大利亚:美容仪专家
2019/11/11 全球购物
金鑫耀Java笔试题
2014/09/06 面试题
电气工程和自动化自荐信范文
2013/12/25 职场文书
公务员转正鉴定材料
2014/02/11 职场文书
2015元旦节寄语
2014/12/08 职场文书
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL
处理canvas绘制图片模糊问题
2022/05/11 Javascript