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通过ftplib登录到ftp服务器的方法
May 08 Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 Python
python实现定时自动备份文件到其他主机的实例代码
Feb 23 Python
PyTorch线性回归和逻辑回归实战示例
May 22 Python
pandas的排序和排名的具体使用
Jul 31 Python
python统计函数库scipy.stats的用法解析
Feb 25 Python
python 函数嵌套及多函数共同运行知识点讲解
Mar 03 Python
安装多个版本的TensorFlow的方法步骤
Apr 21 Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 Python
tensorflow模型转ncnn的操作方式
May 25 Python
python else语句在循环中的运用详解
Jul 06 Python
python的setattr函数实例用法
Dec 16 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 Smarty生成EXCEL文档的代码
2008/08/23 PHP
PHP 中检查或过滤IP地址的实现代码
2011/11/27 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
PHP定时执行任务的3种方法详解
2015/12/21 PHP
详解HTTP Cookie状态管理机制
2016/01/14 PHP
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
javascript日期比较方法实例分析
2016/06/17 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
2016/11/25 Javascript
微信小程序 自定义对话框实例详解
2017/01/20 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
通过数据库向Django模型添加字段的示例
2015/07/21 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
详解爬虫被封的问题
2019/04/23 Python
python 将字符串中的数字相加求和的实现
2019/07/18 Python
pycharm重命名文件的方法步骤
2019/07/29 Python
Django用户认证系统 组与权限解析
2019/08/02 Python
Python:slice与indices的用法
2019/11/25 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
Python3搭建http服务器的实现代码
2020/02/11 Python
PyQt5事件处理之定时在控件上显示信息的代码
2020/03/25 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
2020/12/14 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
2021/01/07 Python
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
斯图尔特·韦茨曼鞋加拿大官网:Stuart Weitzman加拿大
2019/10/13 全球购物
介绍下WebSphere的安全性
2013/01/31 面试题
线程同步的方法
2016/11/23 面试题
2015年初中元旦晚会活动总结
2014/11/28 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
Python Pandas pandas.read_sql函数实例用法
2021/06/21 Python
Python实现位图分割的效果
2021/11/20 Python
Vue2项目中对百度地图的封装使用详解
2022/06/16 Vue.js