有的时候,可能会遇到表格中出现重复的索引,在操作重复索引的时候可能要注意一些问题。
一、判断索引是否重复
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带有重复索引操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
pandas,重复,索引
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com
暂无“pandas带有重复索引操作方法”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。