1、Series唯一值判断
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
|
s = Series([ 3 , 3 , 1 , 2 , 4 , 3 , 4 , 6 , 5 , 6 ])
#判断Series中的值是否重复,False表示重复
print (s.is_unique)
#False
#输出Series中不重复的值,返回值没有排序,返回值的类型为数组
print (s.unique())
#[3 1 2 4 6 5]
print ( type (s.unique()))
#<class 'numpy.ndarray'>
#统计Series中重复值出现的次数,默认是按出现次数降序排序
print (s.value_counts())
'''
3 3
6 2
4 2
5 1
2 1
1 1
'''
#按照重复值的大小排序输出频率
print (s.value_counts(sort = False ))
'''
1 1
2 1
3 3
4 2
5 1
6 2
'''
|
2、成员资格判断
a、Series的成员资格
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
|
s = Series([ 5 , 5 , 6 , 1 , 1 ])
print (s)
'''
0 5
1 5
2 6
3 1
4 1
'''
#判断矢量化集合的成员资格,返回一个bool类型的Series
print (s.isin([ 5 ]))
'''
0 True
1 True
2 False
3 False
4 False
'''
print ( type (s.isin([ 5 ])))
#<class 'pandas.core.series.Series'>
#通过成员资格方法选取Series中的数据子集
print (s[s.isin([ 5 ])])
'''
0 5
1 5
'''
|
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
|
a = [[ 3 , 2 , 6 ],[ 2 , 1 , 4 ],[ 6 , 2 , 5 ]]
data = DataFrame(a,index = [ "a" , "b" , "c" ],columns = [ "one" , "two" , "three" ])
print (data)
'''
one two three
a 3 2 6
b 2 1 4
c 6 2 5
'''
#返回一个bool的DataFrame
print (data.isin([ 1 ]))
'''
one two three
a False False False
b False True False
c False False False
'''
#选取DataFrame中值为1的数,其他的为NaN
print (data[data.isin([ 1 ])])
'''
one two three
a NaN NaN NaN
b NaN 1.0 NaN
c NaN NaN NaN
'''
#将NaN用0进行填充
print (data[data.isin([ 1 ])].fillna( 0 ))
'''
one two three
a 0.0 0.0 0.0
b 0.0 1.0 0.0
c 0.0 0.0 0.0
'''
|
以上这篇pandas的唯一值、值计数以及成员资格的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/sinat_29957455/article/details/79007668