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