Python实战171201筛选数据

Python应用:网络编程,系统网络运维,3D游戏开发,图形界面开发,科学与数字计算,web后端。

对着慕课的练习,果然慕课的实战也是差距很大-------centos7 -Python3.6.3

筛选数据:

    通常做法就是迭代if。

--------去除负数------------

      data = [1,2,3,4,5,6,7,-2,-3,-7]

      res = [ ]

      for x in data:

        if x>=0:

          res.append(x)

      print res

-------------------------------

列表

>>>import random

  #载入模块,当然这个模块也是需要熟悉的

>>>data=[random.randint(-10,20) for _ in range(10)]

  #Python3中没有xrange,range替换xrange了,当然第一学就记住range变成一个生成器了。性能优化结果

>>>print (date)  >>>date

  #Python3print都是带括号的,感觉像是回归c呢?

>>>list(filter(lambda x :x>=0,data))  #函数式编程

  #python3中貌似都需要加个list这种壳么?为了优化性能  filter函数:filter()为已知的序列的每个元素调用给定的布尔函数,调用中,返回值为非零的元素将被添加至一个列表中

>>>[x for x in data if x>=0]  #列表解析

>>>timeit(‘[x for x in data if x>=0]‘,‘data=[1,2,3,4,5,6,7,-2,-3,-7],number=1000000‘)

  # timeit(函数名_字符串,运行环境_字符串,number=运行次数)默认就是一百万

>>>timeit(‘filter(lambda x:x>=0,data)‘,‘data=[1,2,3,-1,-2,4]‘)

  #timeit只接受有且唯一 一个环境。。。。。。哇,这句话因为少个逗号让我好一阵郁闷

  #然后就是比对时间咯,发现列表解析速度不是最快!!!,嗨呀真是信了你去年的结论

当然老师说的是对的,前提是显示数据,而不是处理数据!

字典

>>>d={x:random.ranint(60.100) for x in ranger(1,21)}  #创立字典

>>>d  >>>print (d)  #显示集合

>>>{k:v for k,v in d.items() if v > 80}  >>>{k:v for k,v in _.items() if v > 80}  #过滤

集合

>>>s=set(data)  #创立集合

>>>s  >>>print(s)  #显示集合

>>>{x for x in s if x%3==0}  #过滤

时间: 2024-07-29 19:40:36

Python实战171201筛选数据的相关文章

谈谈Python实战数据可视化之pygal模块(实战篇)

前沿 通过上一节谈谈Python实战数据可视化之pygal模块(基础篇)的学习,我们对pygal模块的使用有了初步的了解,本节将以实战项目来加深pygal模块的使用.从网上可以下载JSON格式的人口数据,并使用json模块来处理它们,pygal模块提供了一个适合初学者使用的地图创建工具,我们将使用它来对人口数据进行可视化,以探索全球人口的分布情况.针对JSON格式的人口数据文件,可以通过谈谈Python实战数据可视化之matplotlib模块(实战篇)章节的配套资源来下载.对于本人在学习和编码过

python基础一 -------如何在列表字典集合中根据条件筛选数据

如何在列表字典集合中根据条件筛选数据 一:列表 先随机生成一个列表,过滤掉负数 1,普通for循环迭代判断 2,filter()函数判断,filter(函数,list|tuple|string) 1 filter(lambda x:x>0,data) 3,列表推倒式 4,效率对比:还是列表推导式稍高 二:字典 1,跟列表类似,推导式 先生成随机的字典(key从1-20) 过滤掉value是负数的值 三:集合 随机生成10个元素的集合 过滤掉小于0的元素,跟字典类似

zeromq 学习和python实战

参考文档: 官网 http://zeromq.org/ http://www.cnblogs.com/rainbowzc/p/3357594.html 原理解读 zeromq只是一层针对socket的封装,介于传输层和应用层之间,并不是单独的服务或者程序,仅仅是一套组件. zeromq使用c语言编写,相应速度非常快. 主要有以下几个部分: - 主线程:负责相应用户的请求,比如创建zmq等 - IO线程:主要负责网络IO的调度,每个IO线程会对应一个异步poll(如select,epoll等),使

Python实战之自己主动化评论

Python实战之自己主动化评论 玩csdn博客一个多月了,渐渐发现了一些有意思的事,常常会有人用相同的评论到处刷.不知道是为了加没什么用的积分,还是纯粹为了表达楼主好人.那么问题来了,这种无聊的事情当然最好能够自己主动化咯.自己也来试了一把,纯属娱乐. 登陆 要评论当然要能够先进行登陆,採用 requests 库进行处理,尝试是否能看到自己的消息列表: msg_url ="http://msg.csdn.net/" r = requests.get(msg_url, auth=('d

Python实战之KNN实现

Python实战之KNN实现 用Python来实现K近邻分类算法(KNN)已经是一个老生常谈的问题,网上也已经有诸多资料,不过这里我还是决定记录一下自己的学习心得. 1.配置numpy库 numpy库是Python用于矩阵运算的第三方库,大多数数学运算都会依赖这个库来进行,关于numpy库的配置参见:Python配置第三方库Numpy和matplotlib的曲折之路,配置完成后将numpy库整体导入到当前工程中. 2.准备训练样本 这里简单的构造四个点并配以对应标签作为KNN的训练样本: # =

Python实战之评论水军

Python实战之评论水军 玩csdn博客一个多月了,渐渐发现了一些有意思的事,经常会有人用同样的评论到处刷,不知道是为了加没什么用的积分,还是纯粹为了表达楼主好人.那么问题来了,这种无聊的事情当然最好能够自动化咯,自己也来试了一把,纯属娱乐. 登陆 要评论当然要能够先进行登陆,采用 requests 库进行处理,尝试能否看到自己的消息列表: msg_url ="http://msg.csdn.net/" r = requests.get(msg_url, auth=('drfish'

云端大数据实战记录-大数据推荐

(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 这是博主第一次大数据实战的经历,之前都是自己写一些算法然后测试很小的数量级.这次是真正接触到TB集的数据,而且完全是在云端处理.下面就把这次的经历简单分享一下. 首先简单介绍一下这次比赛的环境吧: 1.云:采用的是阿里云 2.数据:从四月十五号到八月十五号期间,用户两千多万的购买行为(包括时间,购买.收藏.购物车的次数) 3.工具:阿里提供的xlab(里面有很多算法,随机森林.逻辑回归.knn等).

人工神经网络之Python 实战

引言:Python是最好最热门的编程语言之一,以简单易学.应用广泛.类库强大而著称,是实现机器学习算法的首选语言.本文以人工神经网络的实战为例,证明需要深入理解算法的原理.优劣势等特点以及应用场景,以能达到应用自如的程度.本文选自<Python大战机器学习:数据科学家的第一个小目标>. 在本次操作前,这里需要导入的包为: 感知机学习算法的原始形式 给出生成线性可分数据集的生成算法: 参数 ■n:正类的样本点数量,也是负类的样本点数量.总的样本点数量为2n. 返回值:所有的样本点组成的数组,形状

【Python实战15】NumPy数组的创建

NumPy提供了一个N维数组对象,即:ndarray.ndarray是一个通用的同构数据多维容器,也就是说,其中的所有元素必须是相同类型的. 创建ndarray数组 创建数组最简单的方式就是使用array函数,它接受一切序列型的对象,然后产生一个新的含有传入数据的NumPy数组.如下: 嵌套的序列将会被转换为一个多为数组: 除非显示的说明,np.array会尝试为新建的这个数组推断出一个较为合适的数据类型,我们可以通过dtype来进行查看,比如上面刚建立的数组类型为:int32类型:另,我们可以