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实例一个类背后发生了什么
Feb 09 Python
python中解析json格式文件的方法示例
May 03 Python
Python生成随机密码的方法
Jun 16 Python
浅谈python爬虫使用Selenium模拟浏览器行为
Feb 23 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
Jun 04 Python
详解Python3除法之真除法、截断除法和下取整对比
May 23 Python
pandas取出重复数据的方法
Jul 04 Python
python multiprocessing多进程变量共享与加锁的实现
Oct 02 Python
pytorch 指定gpu训练与多gpu并行训练示例
Dec 31 Python
python实现五子棋游戏(pygame版)
Jan 19 Python
python opencv角点检测连线功能的实现代码
Nov 24 Python
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
Apr 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之第八天
2006/10/09 PHP
PHP 中关于ord($str)&amp;gt;0x80的详细说明
2012/09/23 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
2016/09/22 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
图片之间的切换
2006/06/26 Javascript
js实现省市联动效果的简单实例
2014/02/10 Javascript
JS实现跟随鼠标立体翻转图片的方法
2015/05/04 Javascript
JS与jQuery遍历Table所有单元格内容的方法
2015/12/07 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
2016/02/17 Javascript
Js+Ajax,Get和Post在使用上的区别小结
2016/06/08 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
JS实现touch 点击滑动轮播实例代码
2017/01/19 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
点击按钮弹出模态框的一系列操作代码实例
2019/03/29 Javascript
JavaScript内置对象math,global功能与用法实例分析
2019/06/10 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
Python中如何使用if语句处理列表实例代码
2019/02/24 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
python能做哪方面的工作
2020/06/15 Python
团队精神演讲稿
2013/12/31 职场文书
节约用水倡议书
2014/04/16 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
离婚协议书怎么写的
2014/12/14 职场文书
小学生交通安全寄语
2015/02/27 职场文书
绿色环保倡议书
2015/04/28 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
2021/04/01 PHP
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python
Nginx location 和 proxy_pass路径配置问题小结
2021/09/04 Servers