- 博客(17)
- 资源 (13)
- 收藏
- 关注
原创 闭包和装饰器
【Jupyter notebook点击有奖】1、闭包什么是闭包:内部函数对外部函数作用域里的非全局变量的引用,称【内部函数】为闭包。闭包三要素:1、嵌套函数;2、变量引用;3、返回内部函数def fun(n): def fun_in(m): print("sum = ",n+m)#内部函数对外部函数的变量的引用(n) return n,m ...
2018-11-29 19:34:10 159
原创 生成器、迭代器详解
【Jupyter notebook 模式】总结Iterable:凡是可以作用于for循环的对象都是Iterable(可迭代的)。Iterator:凡是可以作用于next()函数额对象都是Iterator(迭代器)对象。list、tuple、dict、str、set等都是Iterable(可迭代的),因为可以使用for循环遍历,但是它们不是Iterator(迭代器),因为不能使用next(...
2018-11-29 16:59:05 242
原创 排序与搜索(Python实现)
【Jupyter notebook 模式传送门】首先总结一下:在无序表或者有序表上的顺序搜索,其时间复杂度为O(n);在有序表上进行二分查找,在最差情况下,复杂度为O(log n);散列表可以实现常数级时间的搜索;冒泡排序、选择排序和插入排序是O(n2)的算法;希尔排序在插入排序的基础上进行了改进,采用对递增子表排序的方法,其时间复杂度可以在O(n)和O(n^2)之间;归并排序的时...
2018-11-28 16:50:12 401 1
原创 Python Cookbook学习笔记 ch9_04 元编程
【Jupyter Notebook传送门】9.19 在定义的时候初始化类的成员问题:想要在类定义的时候初始化一部分类的成员,而不是等到实例被创建的时候方案:本质上,一个元类会在定义时被触发,这时候可以执行一些额外的操作import operatorclass StructTupleMeta(type): def __init__(cls,*args, **kwargs): ...
2018-11-25 19:28:34 195
原创 Python Cookbook学习笔记 ch9_03元编程
【Jupyter notebook 传送门】9.15 定义有可选参数的元类问题:想要定义一个元类,它的参数是可选的,这样可以控制或者配置类型的创建过程方案:使用“metaclass”关键字参数指定特定的元类from abc import ABCMeta,abstractmethodclass IStream(metaclass=ABCMeta): @abstractmetho...
2018-11-25 19:26:44 195
原创 Pyhton Cookbook 学习笔记 ch9_02 元编程
【传送门】9.8 将装饰器定义为类的一部分问题:想在类中定义装饰器,并作用在其他的函数上方案:在类中定义装饰器首先要确定它的使用方法,是作为一个实例方法还是作为一个类方法from functools import wrapsclass A: #作为一个实例方法 def decorator1(self,func): @wraps(func) ...
2018-11-24 22:59:57 184
原创 ch8_02 数据规整:聚合、合并、重塑
【Jupyter notebook】阅读模式接上一部分轴向连接另一种数据合并运算也被称作连接(concatenation)、绑定(binding)或堆叠(stacking)。NumPy的concatenation函数可以用NumPy数组来做:import numpy as npimport pandas as pdarr = np.arange(12).reshape((3,4...
2018-11-11 17:23:28 371
原创 ch8_01 数据规整:聚合、合并、重塑
Jupyter notebook阅读模式在许多应用中,数据可能分散在许多文件或数据库中,存储的形式也不利于分析。本章关注可以聚合、合并、重塑数据的方法。import pandas as pdimport numpy as np8.1 层次化索引层次化索引(hierarchical indexing)能在一个轴上拥有多个(两个以上)索引级别。抽象点说,它使你能以低维度形式处理高维度...
2018-11-11 17:21:39 255
原创 爬取微信好友信息,进行可视化分析(头像人脸识别部分已更新!)(代码已上传)
1、项目说明本次项目主要实现了以下功能:2、微信好友信息的获取与文件存储3、微信好友性别分析4、微信好友地区分布可视化5、微信好友个性签名词云图及好友备注词云图6、微信好友朋友圈权限分析7、好友头像分析本项目主要参考这篇【博客1】.但是有些地方因为未成功就采用了其他的方案。在好友地区分布时主要参考了【热力图】。此项目可以说涉及到了很多方面,让自己学到了很多。以前没有重视的知...
2018-11-08 20:39:38 2272 3
原创 ch7_02 Pandas 数据清洗和准备
Jupyter notebook阅读模式离散化和面元划分为了便于分析,连续数据常常被离散化或拆分为“面元”(bin)。假设有一组人员数据,而你希望将它们划分为不同的年龄组:接下来将这些数据划分为“18到25”、“26到35”、“36到60”以及“60以上”几个面元。要实现该功能,你需要使用pandas的cut函数:import pandas as pdages = [20,22,25...
2018-11-06 20:05:47 432
原创 ch7_01 Pandas 数据清洗和准备
Jupyter nobook模式,不一样的阅读体验import pandas as pdimport numpy as np7.1处理缺失值对于数值数据,pandas使用浮点值NaN(Not a Number)表示缺失数据。我们称其为哨兵值,可以方便的检测出来:string_data = pd.Series(['aardvark', 'artichoke', np.nan, 'av...
2018-11-06 20:04:12 299
原创 ch6_02 数据加载、存储&文件格式
jupyter notebook阅读模式更好!6.2 二进制文件格式实现数据的高效二进制格式存储最简单的办法之一是使用Python内置的pickle序列化。pandas对象都有一个用于将数据以pickle格式保存到磁盘上的to_pickle方法:import pandas as pdimport csvframe = pd.read_csv('data/examples/ex1.c...
2018-11-05 21:07:06 208
原创 Python Cookbook学习笔记ch9_01 元编程
Jupyter notebook阅读体验更好软件开发领域最经典的口头禅就是“don’t repeat yourself”。解决代码重复的问题可以使用元编程,即创建关于操作源代码得函数和类,主要用到的技术有装饰器、类装饰器、元类,还有其他的诸如:签名对象、使用exec()执行代码以及对内部函数和类进行反射技术等9.1在函数上添加包装器问题:想在函数上添加一个包装器,增加额外的操作处理(如...
2018-11-05 19:22:15 271
原创 ch6_01 Pandas 数据加载、存储&文件格式
Jupyter notebook给你不一样的阅读体验!输入输出通常分为以下几大类:读取文本文件和其他的更高效的磁盘存储格式、加载数据库中的数据、利用Web API操作网络资源6.1读写文本格式的数据pandas提供了一些用于将表格型数据读取为DataFrame对象的函数。下表进行了总结,其中用的比较多的就是read_csv和read_tableimport pandas as p...
2018-11-04 20:55:37 581
原创 爬虫&租房&路径规划
1、项目介绍介绍:首先这个项目是实验楼上的一个免费项目,原项目链接在这里。该项目主要涉及到爬虫、高德API的使用,用到的包主要有requests 、BeautifulSoup、csv。功能:本项目使用 Python 脚本爬取某租房网站的房源信息,利用高德的 js API 在地图上标出房源地点,划出距离工作地点1小时内可到达的范围。环境:实验楼的实验是在Linux环境下进行的,这里我使用的是...
2018-11-03 13:33:09 694
原创 Python 内置函数(Python Built-in Functions)
Jupyter notebook阅读体验更棒。本文主要参考这里。1、abs(x)返回x的绝对值,x可以为int型或者float型abs(-10), abs(-1.2), abs(8)(10, 1.2, 8)2、all(iterable)如果iterable的每一个元素都是true,则返回True。否则返回False。非零为真,零为假all([1,2,3])True...
2018-11-02 15:10:54 1897
原创 Python Cookbook学习笔记ch8_05
Jupyter notebook模式查看效果,不一样的感觉,哈哈8.21实现访问者模式问题:需要处理大量不同类型的对象组成的复杂数据结构,每个对象需要进行不同的处理。比如遍历一个树形结构然后根据每个节点的状态执行不同的操作方案:见下class Node: passclass UnaryOperator(Node): def __init__(self,operand)...
2018-11-02 15:04:28 228
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人