一般来说,用pandas处理小于100兆的数据,性能不是问题。当用pandas来处理100兆至几个G的数据时,将会比较耗时,同时会导致程序因内存不足而运行失败。当然,像Spark这类的工具能够胜任处理100G至几个T的大数据集,但要想充分发挥这些工具的优势,通常需要比较贵的硬件设备。而且,这些工具不像pandas那样具有丰富的进行高质量数据清洗、探索和分析的特性。对于中等规模的数据,我们的愿望是尽量让pandas继续发挥其优势,而不是换用其他工具。本文我们
系统 2019-09-27 17:49:29 1890
这篇快文介绍了使用Gmail作为您的e-mail服务器,通过Python的内置SMTP库发送电子邮件。它并不复杂,我保证。下面是如何在Python中登录GMail:importsmtplib#Thebelowcodeneverchanges,thoughobviouslythosevariablesneedvalues.session=smtplib.SMTP('smtp.gmail.com',587)session.ehlo()session.start
系统 2019-09-27 17:49:08 1890
几乎所有的微薄都提供了缩短网址的服务,其原理就是将一个url地址按照一定的算法生成一段字符串,然后加在一个短域名后面边成了一个新的url地址,数据库中会存放这个短地址和原始的地址,当用户点击这个新的短地址后,短地址服务会根据短域名后面的几个字符串从数据库中读出原来的地址然后页面进行跳转。比如新浪微薄中的url是http://t.cn/xxxxxxxt.cn是其域名,其后面跟着的是7位算出来的字符串。方法一:使用哈希库自定义算法因为文本中显示太长的url会比
系统 2019-09-27 17:48:18 1890
matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。这篇我们用matplotlib从构造最简单的bar一步一步向复杂的bar前行。什么是最简单的bar,看如下语句你就知
系统 2019-09-27 17:48:15 1890
什么是python描述符:类里面有__get__或__set__或__del__的就叫描述符属性查找优先级类属性数据描述符(同时实现__get__和__set__)实例属性非数据描述符(只实现__get__)__getattr__通过代理和描述符实现属性懒加载这里是使用装饰器的方式实现的懒加载。可以将耗时的操作放到方法里面。在未使用的时候是一个方法,当第一次使用过后就会替换掉方法,并为之设置属性值。注意,只有在使用的时候才会执行函数里面的代码,并且只执行一
系统 2019-09-27 17:47:51 1890
在python中有一些有意思的内置函数,例如map()、filter()、reduce()函数,总结一下加深理解。lambda关键字map函数filter函数sorted函数zip函数以上四种函数均返回的是对象,需在外面加list并print才能显示一、lambda表达式:匿名函数原文地址:https://www.cnblogs.com/hf8051/p/8085424.htmllambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下
系统 2019-09-27 17:47:48 1890
原文链接:https://www.bagevent.com/event/5396631作者|天元浪子来源|CSDN博客手头有109张头部CT的断层扫描图片,我打算用这些图片尝试头部的三维重建。基础工作之一,就是要把这些图片数据读出来,组织成一个三维的数据结构(实际上是四维的,因为每个像素有RGBA四个通道)。这个数据结构,自然是numpy的ndarray对象,读取图像文件我习惯使用PIL。因此,需要导入两个模块:1importnumpyasnp2fromP
系统 2019-09-27 17:47:36 1890
看这个模块要先看withas的用法,最常用的方法就是打开一个文件:复制代码代码如下:withopen(“filename”)asf:f.read()with可以调用一个上下文管理器,产生运行时的上下文环境。上下文管理器主要定义两个方法,__enter__,__exit__。__enter__返回上下文里操作的对象,如f。__exit__是销毁对象和异常处理。contextlib模块对外有三个接口,contextmanager装饰器,装饰的函数必须是一个生成
系统 2019-09-27 17:47:16 1890
直接交换2个数字的位置Python提供了一种直观的方式在一行代码中赋值和交换(变量值)。如下所示:x,y=10,20print(x,y)x,y=y,xprint(x,y)#1(10,20)#2(20,10)在上面代码中,赋值的右侧形成了一个新元组,而左侧则立刻将该(未被引用的)元组解包到名称和。待赋值完成后,新元组就变成了未被引用状态,并且被标为可被垃圾回收,最终也就发生了数字交换。链接比较操作符比较运算符的聚合是另一种有时用起来很顺手的技巧。n=10re
系统 2019-09-27 17:46:28 1890
一切皆是对象在Python一切皆是对象,包括所有类型的常量与变量,整型,布尔型,甚至函数。参见stackoverflow上的一个问题Iseverythinganobjectinpythonlikeruby代码中即可以验证:#everythininpythonisobjectdeffuction():returnprintisinstance(True,object)printisinstance(0,object)printisinstance('a',o
系统 2019-09-27 17:46:22 1890