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 map和reduce函数用法示例
Feb 26 Python
Python Json序列化与反序列化的示例
Jan 31 Python
python使用sqlite3时游标使用方法
Mar 13 Python
python读文件保存到字典,修改字典并写入新文件的实例
Apr 23 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 Python
python3实现小球转动抽奖小游戏
Apr 15 Python
Python内置random模块生成随机数的方法
May 31 Python
Python timer定时器两种常用方法解析
Jan 20 Python
python 最简单的实现适配器设计模式的示例
Jun 30 Python
Python如何操作docker redis过程解析
Aug 10 Python
Python Matplotlib绘图基础知识代码解析
Aug 31 Python
浅谈pytorch中stack和cat的及to_tensor的坑
May 20 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设置允许大文件上传示例代码
2014/03/10 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
用javascript getComputedStyle获取和设置style的原理
2008/10/10 Javascript
jquery中实现简单的tabs插件功能的代码
2011/03/02 Javascript
JSONP之我见
2015/03/24 Javascript
Nodejs学习笔记之入门篇
2015/04/16 NodeJs
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
2016/06/17 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
jQuery快速高效制作网页交互特效
2017/02/24 Javascript
JS利用cookies设置每隔24小时弹出框
2017/04/20 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
详解js类型判断
2018/05/22 Javascript
VUE+Element环境搭建与安装的方法步骤
2019/01/24 Javascript
详解vue组件中使用路由方法
2019/02/12 Javascript
electron 安装,调试,打包的具体使用
2019/11/06 Javascript
python之yield表达式学习
2014/09/02 Python
python 禁止函数修改列表的实现方法
2017/08/03 Python
详解python里使用正则表达式的全匹配功能
2017/10/19 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
python读出当前时间精度到秒的代码
2019/07/05 Python
运行Python编写的程序方法实例
2020/10/21 Python
咖啡为什么会有酸味?你喝到的咖啡為什麼是酸的?
2021/03/17 冲泡冲煮
ShellScript面试题一则-ShellScript编程
2014/06/24 面试题
前台接待的工作职责
2013/11/21 职场文书
大学辅导员事迹材料
2014/02/05 职场文书
中学教师自我鉴定
2014/02/07 职场文书
2014年工商所工作总结
2014/12/09 职场文书
国庆庆典邀请函
2015/02/02 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
浅析Python中的随机采样和概率分布
2021/12/06 Python
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python