pandas的唯一值、值计数以及成员资格的示例

yipeiwu_com5年前Python基础

1、Series唯一值判断

 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的成员资格

 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的成员资格

 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的唯一值、值计数以及成员资格的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python Django使用forms来实现评论功能

Python Django使用forms来实现评论功能

貌似Django从版本1.6开始就放弃了对自带的comments的使用,具体原因未查,但是现在使用Django的内部的模块也可以实现评论功能,那就是借助于forms模块,下面是我的一个小...

解决pyshp UnicodeDecodeError的问题

用最新版本(2.1.0)的pyshp解析shp文件的records时: records = sf.records() 如果records里面含有中文字段,那么就会报错: Uni...

node.js获取参数的常用方法(总结)

1、req.body 2、req.query 3、req.params 一、req.body例子 body不是nodejs默认提供的,你需要载入body-parser中间件才可以使用re...

python 类对象和实例对象动态添加方法(分享)

实例如下所示: class Person(): def __init__(self, name): self.name = name def print_name(self)...

pandas条件组合筛选和按范围筛选的示例代码

pandas条件组合筛选和按范围筛选的示例代码

1、从记录中选出所有fault_code列的值在fault_list= [487, 479, 500, 505]这个范围内的记录 record2=record[record...