python学习笔记
zhiang张
开始好好写,一起进步
展开
-
python装饰器统计函数执行总时间
装饰器统计函数执行总时间from functools import wrapsdef time_func(func): elapse_time = 0. @wraps(func) def newfunc(*args, **kwargs): nonlocal elapse_time # 使用外部的变量 startTime = time.time() result = func(*args, **kwargs) elap原创 2020-09-10 17:10:39 · 630 阅读 · 0 评论 -
numpy的stack、hstack、vstack、concatenate区别及使用建议
numpy的stack、hstack、vstack、concatenate这几个函数都是对数组进行连接,介绍下区别函数增加维度指定维度操作数组shape要求concatenate不增加能除了操作维度,其它必须相同stack增加能必须完全相同hstack不增加不能除了操作维度,其它必须相同vstack不增加不能除了操作维度,其它必须相同从上表就可以看出,concatenate和stack的区别就在于会不会增加维度a = np.ara原创 2020-07-24 10:27:20 · 4161 阅读 · 0 评论 -
python序列化保存对象——pickle和json
使用总结:pickle保存成二进制序列,json保存成json格式的可读文本,显然json文件可读性更强;pickle保存的对象只能用于python,且不同版本可能不通用;dump、load用来操作文件流,dumps、loads用来操作对象pickle操作文件时,要以’b’二进制打开文件;json本身有自己定义的一些数据格式,所以存储时需要确保存储对象在json中有对应的类型json使用时参照以下的对应表,如果想要序列化的数据类型不在这些里面,则保存时会报错jsonpython原创 2020-07-16 14:20:21 · 1065 阅读 · 0 评论 -
详解numpy的repeat和tile 用来复制数组
repeat和tile都可以用来复制数组的,但是有一些区别关键区别在于repeat是对于元素的复制,tile是以整个数组为单位的 ,repeat复制时元素依次复制,注意不要用错,区别[1,1,2,2]和[1,2,1,2]repeat用法np.repeat(a, repeats, axis=None)重复复制数组a的元素,元素的定义与axis有关,axis不指定时,数组会被展开进行复制,每个元素就是一个值,指定axis时,就是aixis指定维度上的一个元素a = np.array([[1,2],原创 2020-07-15 20:41:06 · 1698 阅读 · 1 评论 -
numpy使用(argsort)
最近用机器学习实战这本书学python,结果第一个算法kNN的代码就把我看蒙了,把些东西记下。导入numpy模块,import numpy (as ny)和from numpy import *,都能导入,但是作用域不同,第二种用法下文程序默认在numpy下,如a=ny.array(...),第二种就可以写为a=array(...)numpy的数组ndarray,某一维度叫轴axi原创 2017-11-10 20:24:56 · 336 阅读 · 0 评论 -
python3爬虫下载网页上的pdf
# coding = UTF-8# 爬取大学nlp课程的教学pdf文档课件 http://ccl.pku.edu.cn/alcourse/nlp/import urllib.requestimport reimport os# open the url and readdef getHtml(url): page = urllib.request.urlopen(url)原创 2017-11-25 11:43:13 · 31156 阅读 · 3 评论 -
python报错"utf-8 codec can't decode byte 0x"
望文生义,报错的内容就是说utf-8的编码方式不能解码0x的字节,选择正确的解码方式就可以解决。深入些理解,可以把编码就是编成字节数据,就是二进制的东西,解码以后就是我们看懂的字符串,python里面就是unicode类型。但是打码的方式有很多,需要采用适合的方法(打码方法)才能下马。比如在文件操作时,encode就是指明文件读写时的编码方式。具体到python中,utf-8编码的文本...原创 2018-11-24 11:17:49 · 62511 阅读 · 2 评论