您好,登錄后才能下訂單哦!
有的時候,可能會遇到表格中出現重復的索引,在操作重復索引的時候可能要注意一些問題。
一、判斷索引是否重復
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帶有重復索引操作方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。