服务器之家

服务器之家 > 正文

pandas带有重复索引操作方法

时间:2021-03-02 00:30     来源/作者:修炼之路

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

一、判断索引是否重复

a、Series索引重复判断

?
1
2
3
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索引重复判断

?
1
2
3
4
5
6
7
8
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的索引取值

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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的索引取值

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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带有重复索引操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/sinat_29957455/article/details/78994764

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部