brucewong0516
码龄8年
关注
提问 私信
  • 博客:4,708,137
    社区:439
    4,708,576
    总访问量
  • 176
    原创
  • 1,036,183
    排名
  • 1,268
    粉丝
  • 1
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:英国
  • 加入CSDN时间: 2016-11-06
博客简介:

brucewong0516的博客

查看详细资料
个人成就
  • 获得2,434次点赞
  • 内容获得328次评论
  • 获得9,746次收藏
  • 代码片获得4,818次分享
创作历程
  • 10篇
    2019年
  • 131篇
    2018年
  • 35篇
    2017年
成就勋章
TA的专栏
  • python
  • python
    125篇
  • 机器学习
    18篇
  • 无监督学习
    2篇
  • 监督学习
    5篇
  • TensorFlow
    13篇
  • 深度学习
    29篇
  • Keras
    15篇
  • python算法
    7篇
  • database
    4篇
  • mysql
    6篇
  • 股票技术指标
    1篇
  • 时间序列
    2篇
  • 爬虫
    1篇
  • 多线程
    7篇
  • 多进程
    5篇
创作活动更多

新星杯·14天创作挑战营·第9期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛! 注: 1、参赛者可以进入活动群进行交流、分享创作心得,互相鼓励与支持(开卷),答疑及活动群请见 https://bbs.csdn.net/topics/619626357 2、文章质量分查询:https://www.csdn.net/qc

475人参与 去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【Python】JupyterNotebook魔法 - 计时性能测试(%%time %time %timeit)

对于计时有两个十分有用的魔法命令:%%time 和 %timeit。1.%%time 将会给出cell的代码运行一次所花费的时间。%time [x for x in range(1000)]Wall time: 0 nsOut[22]:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]2.%time 将会给出当前行的代码运行一次所花费的时间。%%timeitli = ...
原创
发布博客 2019.06.27 ·
14504 阅读 ·
13 点赞 ·
2 评论 ·
15 收藏

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

        将代码中的配置项抽取到配置文件中,修改配置时不需要涉及到代码修改,这样就提高了代码的重用性,不再每次都去修改代码内部,极大的方便后期软件的维护。        configparser解析的配置文件的格式为ini的配置文件格式 (xxx.ini),就是文件中由多个section构成,每个section...
原创
发布博客 2019.06.23 ·
4579 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

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

       有的时候会经常遇到条件过滤的场景,这个时候可能经常使用isin或者是~来进行一步操作,而不是写条件语句的方式,这样来提高效率和简洁度。1、直接根据条件进行索引,isin()接受一个列表,判断该列中元素是否在列表中import numpy as npimport pandas as pddf=pd.DataF...
原创
发布博客 2019.05.09 ·
23907 阅读 ·
13 点赞 ·
1 评论 ·
41 收藏

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

       关于copy()和deepcopy(),以及变量的赋值,不经意使用会出现错误,而且这种错误很隐蔽,逻辑上不容易看出来bug。因此我们最好使用copy和deepcopy来精细声明处理。那么这两个拷贝的区别在哪里,先看下面两条结论,接下来大家可以带着这两条结论进行下面的分析:寻常意义的复制就是深复制,即将被复制对...
原创
发布博客 2019.05.05 ·
8300 阅读 ·
9 点赞 ·
3 评论 ·
49 收藏

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

在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改:s = Student()s.score = 9999这显然不合逻辑。为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set_score()方法里,就可以检查参数:class Student(object)...
原创
发布博客 2019.03.19 ·
4336 阅读 ·
5 点赞 ·
0 评论 ·
7 收藏

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

由于GIL的存在,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。multiprocessing支持子进程、通信和共享数据、执行不同形式的同步,提供了Pr...
原创
发布博客 2019.01.21 ·
12599 阅读 ·
9 点赞 ·
0 评论 ·
30 收藏

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

       对于多进程multiprocessing和多线程threading这两个库的同步,基本上是相似的使用方式。之前写过threading的Lock、Rlock一文,详细讲解了锁的同步使用,详见:【python】详解threading模块:
原创
发布博客 2019.01.04 ·
18372 阅读 ·
0 点赞 ·
5 评论 ·
15 收藏

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

       之前专门写过queue这个库的使用,详见文章:详解queue队列(一),此处的队列与原文基本上相近。当使用多个进程时,通常使用消息传递来进行进程之间的通信,并避免必须使用任何同步原语(如锁)。对于传递消息,可以使用Pipe()(用于两个进程之间的连接)或队列Queue(允许多个生产者和消费者)。&am
原创
发布博客 2019.01.04 ·
40089 阅读 ·
16 点赞 ·
0 评论 ·
69 收藏

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

       Multiprocessing.Pool可以提供指定数量的进程供用户调用,当有新的请求提交到pool中时,如果池还没有满,那么就会创建一个新的进程用来执行该请求;但如果池中的进程数已经达到规定最大值,那么该请求就会等待,直到池中有进程
原创
发布博客 2019.01.04 ·
86385 阅读 ·
34 点赞 ·
11 评论 ·
160 收藏

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

       multiprocessing类似于threading模块支持生成进程的包,是Python的标准模块,它既可以用来编写多进程,也可以用来编写多线程。如果是多线程的话,用multiprocessing.dummy即可,用法与multiprocessing基本相同。由于python使用全局解释器锁(GIL),他会将进程中的线程序列化
原创
发布博客 2019.01.04 ·
54388 阅读 ·
30 点赞 ·
3 评论 ·
201 收藏

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

相比较pandas,numpy并没有很直接的rolling方法,但是numpy 有一个技巧可以让NumPy在C代码内部执行这种循环。这是通过添加一个与窗口大小相同的额外尺寸和适当的步幅来实现的。import numpy as npdata = np.arange(20)def rolling_window(a, window): shape = a.shape[:-1] + (a...
原创
发布博客 2018.12.05 ·
21647 阅读 ·
5 点赞 ·
3 评论 ·
20 收藏

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

相比较pandas,numpy并没有很直接的rolling方法,但是numpy 有一个技巧可以让NumPy在C代码内部执行这种循环。这是通过添加一个与窗口大小相同的额外尺寸和适当的步幅来实现的。import numpy as npdata = np.arange(20)def rolling_window(a, window): shape = a.shape[:-1] + (a...
原创
发布博客 2018.12.05 ·
21647 阅读 ·
5 点赞 ·
3 评论 ·
20 收藏

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

how真的很好用啊!!!import pandas as pddata = 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'))dataOut[5]: open close2...
原创
发布博客 2018.12.05 ·
6141 阅读 ·
2 点赞 ·
1 评论 ·
8 收藏

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

how真的很好用啊!!!import pandas as pddata = 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'))dataOut[5]: open close2...
原创
发布博客 2018.12.05 ·
6141 阅读 ·
2 点赞 ·
1 评论 ·
8 收藏

【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)只需要在打开的时候指定编码: encoding='iso-8859-1’import picklewith open("factor_sol...
原创
发布博客 2018.12.04 ·
4791 阅读 ·
19 点赞 ·
6 评论 ·
11 收藏

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

首先看一下文档:numpy.vectorize(pyfunc, otypes=None, doc=None, excluded=None, cache=False, signature=None)Parameters: pyfunc :python函数或方法otypes : 输出数据类型。必须将其指定为一个typecode字符串或一个数据类型说明符列表。每个输出应该有一个数据类型说明符。...
原创
发布博客 2018.12.03 ·
54840 阅读 ·
17 点赞 ·
2 评论 ·
93 收藏

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

首先我们直接看官方的文档:DataFrame.resample(rule, how=None, axis=0, fill_method=None, closed=None, label=None, convention='start', kind=None, loffset=None, limit=None, base=0, on=None, level=None...
原创
发布博客 2018.12.03 ·
50081 阅读 ·
40 点赞 ·
2 评论 ·
197 收藏

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

插入排序法类似打牌时候摸扑克牌整理顺序的过程,逻辑如下:在第i轮通过列表的时候(i从1到n-1),第i项应该插入到列表的前i个项中的正确位置;在第i轮之后,前i个项应该是排好序的;def insertion_sort(x): i = 1 while i < len(x): # i轮之前的最大的索引位置 j = i - 1 # 定...
原创
发布博客 2018.11.29 ·
999 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【python】双向冒泡排序

冒泡排序法:冒泡排序存在所谓的“乌龟问题”,假设我们需要将序列按照升序排序。序列中的较小的数字又大量存在于序列的尾部,这样会让小数字在向前移动得很缓慢,因此针对这一问题,产生了双向冒泡排序法,也称鸡尾酒排序法。双向冒泡排序法:由两个方向同时进行冒泡:首先由左向右为大元素移动方向,从右向左为小元素移动方向,然后每个元素都依次执行。在第i次移动后,前i个和后i个元素都放到了正确的位...
原创
发布博客 2018.11.29 ·
4037 阅读 ·
4 点赞 ·
0 评论 ·
14 收藏

【python】冒泡排序

冒泡排序:从列表的开头处开始,逐个比较一对数据项,如果顺序不对就交换两项位置,直到移动到列表的末尾。这个过程的效果就是将最大的项以冒泡的方式排到算法的末尾。然后算法从列表开头到倒数第二项重复这一过程,依次类推。与简单选择排序的比较:冒泡排序也是一个嵌套的循环,如果列表是已经排好序的,冒泡排序不会执行任何的交换;在最坏的情况下,为平方阶复杂度。from swax_functio...
原创
发布博客 2018.11.29 ·
1151 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多