pandas带有重复索引操作方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

pandas带有重复索引操作⽅法
有的时候,可能会遇到表格中出现重复的索引,在操作重复索引的时候可能要注意⼀些问题。

⼀、判断索引是否重复
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带有重复索引操作⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

相关文档
最新文档