【python】详解使用configparser进行文件配置

        将代码中的配置项抽取到配置文件中,修改配置时不需要涉及到代码修改,这样就提高了代码的重用性,不再每次都去修改代码内部,极大的方便后期软件的维护。     &nbsp...

2019-06-23 16:47:52

阅读数 3

评论数 0

【Python】详解pandas的isin索引和~反向索引

       有的时候会经常遇到条件过滤的场景,这个时候可能经常使用isin或者是~来进行一步操作,而不是写条件语句的方式,这样来提高效率和简洁度。 1、直接根据条件进行索...

2019-05-09 19:30:34

阅读数 92

评论数 0

【python】详解copy浅复制和deepcopy深复制、字典类型的copy以及" = "

       关于copy()和deepcopy(),以及变量的赋值,不经意使用会出现错误,而且这种错误很隐蔽,逻辑上不容易看出来bug。因此我们最好使用copy和deep...

2019-05-05 09:39:20

阅读数 53

评论数 0

【Python】详解@property装饰器的使用

在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改: s = Student() s.score = 9999 这显然不合逻辑。为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成...

2019-03-19 18:01:45

阅读数 61

评论数 0

【python】详解multiprocessing多进程-总结(五)

由于GIL的存在,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事情。借助这个包,可以轻松完成从单进程到并...

2019-01-21 10:30:25

阅读数 227

评论数 0

【python】详解multiprocessing多进程-Lock、Rlock进程同步(四)

      &amp...

2019-01-04 21:26:17

阅读数 416

评论数 0

【python】详解multiprocessing多进程-Queue、Pipe进程间通信(三)

       之前专门写过queue这个库的使用,详见文章:详解queue队列(一),此处的队列与...

2019-01-04 20:28:02

阅读数 488

评论数 0

【python】详解multiprocessing多进程-Pool进程池模块(二)

      &amp...

2019-01-04 19:37:53

阅读数 891

评论数 1

【python】详解multiprocessing多进程-process模块(一)

       multiprocessing类似于threading模块支持生成进程的包,是Pyt...

2019-01-04 17:28:03

阅读数 571

评论数 0

【python】numpy实现rolling滚动的方法

相比较pandas,numpy并没有很直接的rolling方法,但是numpy 有一个技巧可以让NumPy在C代码内部执行这种循环。这是通过添加一个与窗口大小相同的额外尺寸和适当的步幅来实现的。 import numpy as np data = np.arange(20) def rolli...

2018-12-05 17:48:49

阅读数 1308

评论数 0

【python】详解pandas.DataFrame.resample根据时间分别聚合多列数据(二)

how真的很好用啊!!! import pandas as pd data = pd.DataFrame({'open':[1,2,3,4,5],'close':[2,3,4,5,6]},index = pd.date_range('12/12/2017',periods=5,freq='T')...

2018-12-05 17:39:55

阅读数 836

评论数 0

【pytho】3以上版本使用pickle.load读取文件报UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 6

python 3以上版本使用pickle.load读取文件报UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xdb in position 2: ordinal not in range(128) 只需要在打开的时候指定编码: encodi...

2018-12-04 18:05:25

阅读数 411

评论数 0

【python】详解numpy.vectorize的使用,将函数向量化

首先看一下文档: numpy.vectorize(pyfunc, otypes=None, doc=None, excluded=None, cache=False, signature=None) Parameters: pyfunc :python函数或方法 otypes : 输出数据类型...

2018-12-03 18:26:09

阅读数 2435

评论数 0

【python】详解pandas.DataFrame.resample根据时间聚合采样(一)

首先我们直接看官方的文档: DataFrame.resample(rule, how=None, axis=0, fill_method=None, closed=None, label=None, convention='start', kind=None, loffset=No...

2018-12-03 17:33:35

阅读数 2837

评论数 0

【python】插入排序和希尔排序

插入排序法类似打牌时候摸扑克牌整理顺序的过程,逻辑如下: 在第i轮通过列表的时候(i从1到n-1),第i项应该插入到列表的前i个项中的正确位置; 在第i轮之后,前i个项应该是排好序的; def insertion_sort(x): i = 1 while i &lt...

2018-11-29 16:45:26

阅读数 53

评论数 0

【python】双向冒泡排序

冒泡排序法: 冒泡排序存在所谓的“乌龟问题”,假设我们需要将序列按照升序排序。 序列中的较小的数字又大量存在于序列的尾部,这样会让小数字在向前移动得很缓慢, 因此针对这一问题,产生了双向冒泡排序法,也称鸡尾酒排序法。 双向冒泡排序法: 由两个方向同时进行冒泡: 首先由左向右为大元素移动方向,...

2018-11-29 16:42:55

阅读数 140

评论数 0

【python】冒泡排序

冒泡排序: 从列表的开头处开始,逐个比较一对数据项,如果顺序不对就交换两项位置,直到移动到列表的末尾。 这个过程的效果就是将最大的项以冒泡的方式排到算法的末尾。 然后算法从列表开头到倒数第二项重复这一过程,依次类推。 与简单选择排序的比较: 冒泡排序也是一个嵌套的循环,如果列表是已经排好序的...

2018-11-29 16:41:24

阅读数 62

评论数 0

【python】选择排序算法

排序算法的逻辑非常简单: 首先搜索整个列表,找到最小项的位置,如果该位置不是列表的第1项,就交换这两个位置的元素。 然后从列表的第2个元素开始,重复上述过程,直到算法达到整个过程的最后一个位置. 循环复杂度: 函数包括一个嵌套的循环,对于大小为n的列表,外围的循环执行n-1次; 内部循环的次...

2018-11-29 16:39:15

阅读数 60

评论数 0

【python】选择排序法改进

选择排序法改进思路: 如果每轮只找最小值,效率较低,可以考虑每次同时寻找最小值和最大值; 并且在某一轮如果最小值与最大值相同,说明剩下的数字都相同,可以直接结束。 实现逻辑: 与选择排序不同的是,需要考虑到如果第i轮里,恰好第i个数就是最大值时 先交换minindex和i之后,最大值的下标变...

2018-11-29 16:36:47

阅读数 132

评论数 0

【python】详解threading模块:local类的使用(六)

一般我们对多线程中的全局变量都会加锁处理,这种变量是共享变量,每个线程都可以读写变量,为了保持同步我们会做枷锁处理。 但是有些变量初始化以后,我们只想让他们在每个线程中一直存在,相当于一个线程内的共享变量,线程之间又是隔离的。 python threading模块中就提供了这么一个类,叫做loca...

2018-11-28 18:21:58

阅读数 163

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭