
python
rosefunR
每次都多付出一点. 欢迎关注公众号《机器学习与算法之道》
-
原创 Github项目文档的管理
1. 用github账号注册readthedocshttps://readthedocs.org/2. 安装Sphinx包具体参考:https://docs.readthedocs.io/en/stable/intro/getting-started-with-sphinx.html3. 把文档上传到GitHub4. readthedocs关联GitHub的项目https://readthedocs.org/dashboard/5. readthedocs编译6. 添加文档主题(可选)2020-11-22 15:29:00117
0
-
转载 python程序进程命名
# 命名一个进程import multiprocessingimport timedef foo(): name = multiprocessing.current_process().name print("Starting %s \n" % name) time.sleep(3) print("Exiting %s \n" % name)if __name__ == '__main__': process_with_name = multiproces2020-11-21 15:01:20154
0
-
原创 Centos安装python3和使用pip3
1. 安装python3从EPEL仓库安装安装最新版本的EPEL$ sudo yum install epel-release用yum安装python 3.6:$ sudo yum install python362. 切换默认的python为python3.6版本cd /usr/bin 备份原来的文件mv python python.bak 建立软连接ln -s /usr/bin/python3.6 /usr/bin/python3. pyth2020-11-21 14:59:396027
0
-
原创 python包开发的坑
1. 调试和之前安装的冲突安装了之前自己开发的包,然后,重新调试,模块路径改动后,python还是默认安装包的程序。python导入模块的顺序:(1).py 所在文件的目录(2)PYTHONPATH 中的目录(3)python安装目录,UNIX下,默认路径一般为/usr/local/lib/python/(4)3.x 中.pth 文件内容...2020-11-20 14:58:045933
0
-
原创 Pypi官方教程中文版:封装代码成python包
1. Pypi介绍PyPI, Python Package Index,是python的正式第三方软件包的软件存储库。一些软件包管理器如pip,就是默认从PyPI下载软件包。Pypi官方网站;2. 封装代码并上传到Pypi上(1)注册账号在Pypi中注册账号,并且需要激活邮箱,其他的就不用管了。(2)代码包管理示例:packaging_tutorial└── mypackage └── __init__.py注意的是,模块(mypackage)是需要__init__.py代码的2020-11-20 10:50:176311
0
-
原创 Python中的__new__和__init__初始化的区别
__init__ 方法为初始化方法, __new__方法才是真正的构造函数。1、__new__方法默认返回实例对象供__init__方法、实例方法使用。class Human2(object): def __init__(self,age,sex): self.age = age self.sex = sex print("self", self) def speak(self): print("I am:",self.age,self.sex)示例:h = Hum2020-10-14 08:53:3975
0
-
原创 python状态码
56、列出常见的状态码和意义200 OK请求正常处理完毕204 No Content请求成功处理,没有实体的主体返回206 Partial ContentGET范围请求已成功处理301 Moved Permanently永久重定向,资源已永久分配新URI302 Found临时重定向,资源已临时分配新URI303 See Other临时重定向,期望使用GET定向获取304 Not Modified发送的附带条件请求未满足307 Temporary Redirect临时重定向,P2020-09-21 23:40:1881
0
-
原创 Python垃圾回收机制
引用计数Python中,主要通过引用计数(Reference Counting)进行垃圾回收。在Python中每一个对象的核心就是一个结构体PyObject,它的内部有一个引用计数器(ob_refcnt)。程序在运行的过程中会实时的更新ob_refcnt的值,来反映引用当前对象的名称数量。当某对象的引用计数值为0,那么它的内存就会被立即释放掉。typedef struct_object { int ob_refcnt; struct_typeobject *ob_type;} PyObject;2020-10-21 16:39:2249
0
-
原创 python list底层实现
列表实现可以是数组和链表。这里数值是指动态数组。因此:利用 list.insert(i,item) 方法在任意位置插入一个元素——复杂度O(N)利用 list.pop(i) 或 list.remove(value) 删除一个元素——复杂度O(N)index() O(1)append O(1)pop() O(1)pop(i) O(n)insert(i,item) O(n)del operator O(n)iteration O(n)contains(in) O(n)get slice[2020-09-21 08:32:4289
0
-
原创 python 大数两数相减
问题描述两个长度超出常规整形变量上限的大数相减,避免使用各语言内置库。输入两个代表整数的字符串 a 和 b,长度超过百位。输出 :返回表示结果整数的字符串。#!/usr/bin/env python# encoding=utf-8def big_num_minus(str1, str2): res = "" carry = 0 minus_flag = False if len(str1) < len(str2): minus_flag2020-09-20 23:37:02318
0
-
原创 python二进制和十进制,十六进制的转换
#!/usr/bin/env python# encoding=utf-8def binary2decimal(x): string = str(x)[2:][::-1] res = 0 for i,num in enumerate(string): res += int(num)*2**i return resdef decimal2binary(x): res = "" while x: m = x%22020-09-20 15:58:1161
0
-
原创 python面向对象三大特性:封装,继承,多态
面向编程三大特性:封装(隐藏),继承,多态。一. 封装通过私有属性,私有方法的方式实现封装。二. 继承python支持多重继承,一个之类可以继承多个父类。class 子类类名(父类1,父类2,…): 类体 父类名.__init__(self,参数列表)1.成员继承:子类继承了父类除构造方法之外的所有成员。2.方法重写:子类可以重新定义父类中的方法,这样就会覆盖父类中的方法,也称为重写。通过类的方法**dir()**查看对象属性重写__str__方法:用于返回一个对于“2020-10-13 19:56:3176
0
-
原创 python random 模块
import randomdef test(): lt = [i for i in range(10)] print(random.choice(lt)) print(random.sample(lt, 5)) random.shuffle(lt) print("shuffle lt",lt) print(random.randrange(1,10)) print(random.randint(1,10)) print(random.rand2020-09-19 16:31:1750
0
-
原创 python模块名
6.3. dir() 函数内置函数 dir() 用于查找模块定义的名称。 它返回一个排序过的字符串列表:https://docs.python.org/zh-cn/3/tutorial/modules.html2020-10-24 09:56:0031
0
-
原创 python self的含义
1. 简介self 是定义类的一个实例。比如类是 Human, self 等价于 Human().具体的原理是,python会自动对类调用 __init__方法,其中,需要把对象实例标识符传入这个方法中。因此,即使,我不用 self, 我也可以用其他的实例标识符代替。但默认是self。class Human(): def __init__(man,age,sex): man.age = age man.sex = sex def speak(man)2020-09-18 09:56:2882
0
-
原创 python assert和exception的区别
As for disabling them, when running python in optimized mode, where __debug__ is False, assert statements will be ignored. Just pass the -O flag:python -O script.py__debug__:如果程序运行时不带-O参数,则为True;反之则为False。https://docs.python.org/3/reference/simple_stmt2020-09-11 12:37:59111
0
-
原创 python正则表达式(re match,search,sub等模块)
1.简介正则表达式是检查一个字符串是否与某种模式匹配。re 模块含有 match, search等功能正则表达式的语法:2. re.matchre.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,返回None.re.match(pattern, string, flags=0)pattern: 匹配的正则表达式;string:要匹配的字符串;flags: 标志位;此外,可以通过 group(num) 来获取匹配表达式的小组。import re l2020-09-07 16:28:20130
0
-
原创 python sys.getsizeof 变量的大小
# 671MBa=np.ones(shape=(2000,44000),dtype=np.float)import syssys.getsizeof(a)/1024/10242020-08-18 11:24:06502
0
-
原创 numpy含nan值进行归一化操作
1. 方法一import numpy as npA = np.array([[ 7, 4, 5, 7000], [ 1, 900, 9, nan], [ 5, -1000, nan, 100], [nan, nan, 3, 1000]])#Compute NaN-normsL1_norm = np.nansum(np.abs(A), axis=1)L2_norm =2020-08-07 17:34:28305
0
-
原创 python中的时间戳和time, datetime模块
import timetimestamp = time.time() #1594475666.4027507#转换成localtimetime_local = time.localtime(timestamp)#转换成新的时间格式(2020-07-11 21:54:26)time.strftime("%Y-%m-%d %H:%M:%S",time_local)2020-07-11 22:02:35183
0
-
原创 pandas dataframe中iloc和loc的区别
1. ilociloc主要定位的是相对位置,如kFold这种都是这种相对索引进行split。2. locloc定位的是dataframe 本身的index。示例:a = pd.DataFrame({"f1":[11,22,33,44,55]},index=[6,5,4,3,2]) f16 115 224 333 442 55如果使用 iloc:a.iloc[[0,2,3],:]f16 114 333 44如果使用 loc:a.loc[[0,2,3],:]f12020-06-20 22:40:14324
0
-
原创 python迭代器和生成器
1. 迭代器对于list、string、tuple、dict等这些容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用iter()函数。iter()是python内置函数。iter()函数会返回一个定义了next()方法的迭代器对象,它在容器中逐个访问容器内的元素。next()也是python内置函数。在没有后续元素时,next()会抛出一个StopIteration异常,通...2020-10-24 09:55:2829
0
-
原创 pomegranate包实现贝叶斯网络
1. 包安装pip install pomegranate==0.102. 示例from pomegranate import *import numpy as npmydb=np.array([[1,2,3],[1,2,4],[1,2,5],[1,2,6],[1,3,8],[2,3,8],[1,2,4]])bnet = BayesianNetwork.from_samples...2020-04-15 18:56:206386
0
-
原创 python对dict,list排序(sort,sorted)
1. dict排序根据 key 排序dict = {'apple': 2, 'pine':10, 'pear':10,'other':12}print(sorted(dict.items(), key=lambda d: d[0]))# 反序print(sorted(dict.items(), key=lambda d: d[0],reverse=True))结果:[('app...2020-03-15 23:23:13198
0
-
原创 python对两个关联list排序(sort,sorted)及自定义排序
>>> list1 = [3,2,4,1, 1]>>> list2 = ['three', 'two', 'four', 'one', 'one2']>>> list1, list2 = zip(*sorted(zip(list1, list2)))>>> list1(1, 1, 2, 3, 4)>>&g...2020-03-10 10:12:552283
0
-
原创 python微信定时发送消息
1. 代码from __future__ import unicode_literalsfrom threading import Timerfrom wxpy import *import requestsimport timeimport datetimefrom datetime import timedelta# 从缓存中获取登录信息,刚登陆过,无需一直登陆bot = ...2020-02-14 11:20:58751
4
-
原创 python 多重list初始化
正确:x = [[foo for i in range(10)] for j in range(10)]错误:x = [[foo for i in range(10)]]*10这样定义的list ,只要其中的某行发生改变,其他行的元素也会发生改变!参考:How to initialize a two-dimensional array in Python?;...2020-01-08 18:12:57381
0
-
原创 python提高运行效率方法
1.设置缓存示例:from functools import lru_cacheclass Solution: @lru_cache(10**8) def climbStairs(self, n): """ :type n: int :rtype: int """ if n == 1: ...2020-01-08 10:19:14114
0
-
原创 python绘图plotly包
1.安装pip install plotly==4.4.12.使用import plotly.graph_objects as gofig = go.Figure()fig.add_trace(go.Scatter(y=[2, 1, 4, 3]))fig.add_trace(go.Bar(y=[1, 4, 3, 2]))fig.update_layout(title = 'Hell...2019-12-18 12:03:40344
0
-
原创 python绘图包pyecharts
1.pyechartsEcharts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。主要特点:支持动态绘图,图中通过点击可以进行选择显示等动态显示功能。2.安装$pip install pyecharts -Uimport ...2019-12-16 16:06:09196
0
-
原创 python import导入模块
简介常规导入(regular imports)使用from语句导入相对导入(relative imports)可选导入(optional imports)本地导入(local imports)1. 常规导入常规导入常规导入应该是最常使用的导入方式,大概是这样的:import sys你只需要使用import一词,然后指定你希望导入的模块或包即可。通过这种方式导入的好处是可以一次...2019-10-31 20:30:00173
0
-
原创 Python 定义只读变量@property
class Test(): def __init__(self, val): self.__val= val @property def onlyReadVal(self): return self.__valf = Test(2)print(f.onlyReadVal)运行结果:2如果添加:f.onlyReadVal = 3会报错:AttributeError...2019-10-25 10:55:401262
0
-
原创 python 装饰器
1.定义不希望修改函数的定义,同时在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。2.示例def log(func): def wrapper(*args, **kw): print('call %s():' % func.__name__) return func(*args, **kw) return wrappe...2019-10-25 10:44:5052
0
-
原创 Python Numpy 计算自相关系数
def autocorrelation(x,lags):#计算lags阶以内的自相关系数,返回lags个值,分别计算序列均值,标准差 n = len(x) x = numpy.array(x) result = [numpy.correlate(x[i:]-x[i:].mean(),x[:n-i]-x[:n-i].mean())[0]\ /(x[i:].std()*x[:n-i].std...2019-10-16 15:34:534503
0
-
原创 独热编码 onehot 及python实现
1. 独热编码独热编码把可列举型数据,使用0,1进行编码。比如, 1 ,2,3 用 [1,0,0], [0, 1, 0], [0, 0, 1] 来表示。2. 实现 def oneHot(self, data): ''' 对标签进行独热编码 输入:data:array 输出:onehot data. ''' if data.shap...2019-09-11 15:42:201323
0
-
原创 常见分类模型python实现
1.常用分类模型SVMMLPBayesGBDTLogistic Regressor2.python实现sklearn上已经有现成的包。SVC:import numpy as npX = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])y = np.array([1, 1, 2, 2])from sklearn.svm import...2019-09-10 23:02:178320
0
-
原创 numpy 与 dataframe 操作转换
1. mapdataframe:import pandas as pdres = pd.DataFrame({'a':[1,2],'b':[3,4]})res2 = pd.DataFrame( {'a':[2,1]})res2['b'] = res2['a'].map(dict(zip(res['a'], res['b'])))numpy:import numpy as npr...2019-06-08 14:40:504122
0
-
原创 大数据下python的效率提升
1.不要用Appendappend 操作动态添加元素,很慢。可以先用 array 初始化一块内存,再赋值。2.少用pandas利用pandas转化为numpy array 进行操作,提高速度。2019-06-03 16:51:36245
0
-
原创 python dict 保存为pickle格式
1. dict 保存为 picklemydict = {"1": 10, "3": 30}with open("./data/medFile/test.pickle", "wb") as fp: #Pickling pickle.dump(mydict, fp, protocol = pickle.HIGHEST_PROTOCOL) with open("./data/...2019-05-28 10:05:363769
0
-
原创 进程和线程的区别及python多进程、多线程实现
1.实例# 多进程import threadingdef haha(max_num, k = 0, j = 3): for i in range(max_num + k + j): time.sleep(1) print(i) return ifor x in range(3): n = x + 3 t = threadin...2019-05-27 16:01:0889
0