Python
文章平均质量分 55
肥宅_Sean
在UCB,Stanford各做过一段时间的RA。去牛津访学过一段时间。
现在在某家头部量化当研究员。
个人站: https://seanquant.github.io/
展开
-
【解决办法】Python windows国内下载太慢配置
搞了一台新电脑,需要配置新的环境,但是在下载Python的时候,发现实在是太慢了。原创 2023-03-25 13:38:49 · 620 阅读 · 1 评论 -
【全新版本】matplotlib figure转为numpy array或者PIL图像进行显示
之前在网上看到了一个,但是写得太冗长了因为他的思路是实际上反过来操作,会更加简单。原创 2023-01-18 11:17:43 · 643 阅读 · 0 评论 -
【不一样的解决方案】cannot import name from partially initialized module 循环引用
循环引用这是一个不一样的解决方案。(至少在我发出来之前没怎么看到过)文章目录循环引用简述但是实际情况&解决方案后记简述一般来说,python会很少见这个问题。大家开发包,或者平时开发的时候都会做得蛮好的。很少说遇到这个问题。但是今天我遇到了这个问题。而且最离谱的是,同样的代码在notebook或者是ipython上都没有问题。实际情况&解决方案实际情况 是:我遇到的实际情况是,在import的某个包里面有一句话是from xxx import *,但是我这个文件名字,原创 2022-05-30 22:38:51 · 28047 阅读 · 17 评论 -
【强化学习】SarsaLambda算法详解以及用于二维空间探索【Python实现】
SarsaLambda算法本文工作基于之前的几篇文章的项目,如果有疑问可以看下面文章:【强化学习】Q-Learning算法详解以及Python实现【80行代码】【强化学习】Q-Learning用于二维空间探索【Python实现】【强化学习】Sarsa算法详解以及用于二维空间探索【Python实现】回到正题上。无论是在Sarsa算法还是Q-Learning中,每次学习都是只迭代Q表中的[S, A]这个位置的节点。之前也说过,这样的迭代效率非常低,因为这样每次都只有下一个能直接获取到奖励的节点原创 2022-04-22 15:38:47 · 1083 阅读 · 3 评论 -
【强化学习】Q-Learning用于二维空间探索【Python实现】
前言这个基于之前的工作,如果有什么疑问也可以参照以前的文章。【强化学习】Q-Learning算法详解以及Python实现【80行代码】本文主要做了两件事情将上篇文章中得弱智般的treasure on right问题,扩张到二维。且将teasure位置随机。并添加一些节点表示坑,即到该节点得到的奖励是负数。将代码结构调整了一下,让整个项目更加清晰。已经方便复用。其实上面的操作,mofan大神在github中也有提到,Q_Learning_maze但可能每个人的具体写法不一样,但是思想基本原创 2022-04-21 18:15:04 · 2698 阅读 · 0 评论 -
【强化学习】Q-Learning算法详解以及Python实现【80行代码】
强化学习在文章正式开始前,请不要被强化学习的tag给吓到了,这也是我之前所遇到的一个困扰。觉得这个东西看上去很高级,需要一个完整的时间段,做详细的学习。相反,强化学习的很多算法是很符合直观思维的。 因此,强化学习的算法思想反而会是相当直观的。另外,需要强调的是,这个算法在很多地方都有很详细的阐述了。这篇文章的工作,很多也是基于前辈的工作而继续推进的。这里也引用方便后来者进一步学习。这里再次感谢前辈的工作,确实对我有较大的帮助。mofan大佬的教程 视频在这,比较冗长mofan大佬的Q-Learni原创 2022-04-20 15:42:27 · 21157 阅读 · 0 评论 -
蚁群算法解决TSP问题【Python实现】
蚁群算法解决TSP问题。Python原创 2022-04-17 20:03:40 · 2726 阅读 · 0 评论 -
Jupyter不要自动启动浏览器(Firefox)
背景有时候,在服务端起一个jupyter的时候,往往会自动调用一个firefox打开一个浏览器。但是如果用自动启动的这个浏览器的话,速度会很慢。因此比较好的方案是手动在在客户端电脑上输入对应的服务器地址的IP,端口,token来访问命令jupyter notebook --ip=* --no-browser...原创 2021-08-02 10:50:03 · 1163 阅读 · 0 评论 -
pandas明明数据有,但是通过该标签进行筛选的时候就得到空或者是错误的结果
简述如果你也是遇到来,想要通过pandas筛选dataframe中的数据,但是筛选的结果却都是空的话或者是 遇到了 xxx in series 这样的操作,但是结果不符合预期。那下面的方法可能会帮到你。解决办法问题原因:你筛选的类型是int 或者类似的 int32,int64之类的。因此筛选的时候,用的是index,而不是value在进行判断解决办法:.values操作,指定用series的value作为list比如: xxx in series 变成 xxx in series.value原创 2021-03-29 14:14:35 · 1542 阅读 · 0 评论 -
Python高效画饼图
简述帮助朋友来做一个画饼图的任务,给了一系列数据,然后画出饼图。理论上来讲应该是很快速的,而且这个任务也很简单。但是存在一些小的坑,总是需要我查找以前的做的东西,慢慢填上,耗费了一点时间。这点时间上的耗费,让我觉得甚至不如直接用excel画个图。为了解决这个时间上的消耗问题,这里我将这些坑都整理了一下,让以后调用的时候更加方便。代码import matplotlib.pyplot as pltdef pie(data, index_map=None, Chinese=False, autop原创 2020-07-06 15:59:15 · 1375 阅读 · 0 评论 -
Pytorch预训练模型下载并加载(以VGG为例)自定义路径
简述一般来讲,Pytorch用torchvision调用vgg之类的模型话,如果电脑在cache(Pytorch硬编码的一个地址)(如果在环境变量中添加了TORCH_HOME 和TORCH_MODEL_ZOO的话,就是在这两个位置的联合的路径下,比如TORCH_MODEL_ZOO\model)否则就是在TORCH_HOME\models或者是~/.torch/models比如,我的就是C:\Users\lijy2/.torch\models\vgg11-bbd30ac9.pth。这很有可能并不是我们想原创 2020-06-08 20:12:00 · 17580 阅读 · 7 评论 -
Pytorch Merge操作
简述Pytorch中没有内置Merge操作,需要手动实现。下面会以多个四维的Tensor直接的Merge操作来展示。(len, *image_shape(占三维))比如上面,这样的图片。每一行都是一个数据X_i(包含三张黑白图)。所以,如果是直接用torch.cat([x0, x1, x2])的话,就是直接把这九张图按照顺序排列了下。[x1[0],..., x1[n], x2[0],..., x2[n], x3[0],..., x3[n]]图片对应的编号顺序:1, 2, 3,4, 5,原创 2020-06-04 23:42:33 · 1659 阅读 · 4 评论 -
多个Series合并成Dataframe,index不完全匹配怎么处理
简述比如这两个数据:a:a=pd.Series([1, 2, 3,], index=[2, 3, 4])输出效果为:2 13 24 3dtype: int64对应的b:b=pd.Series([4, 1, 2, 3,], index=[1, 2, 3, 4])1 42 13 24 3dtype: int64合并:c = pd.concat([a, b], join='outer', axis=1)c.columns = [原创 2020-05-19 18:20:47 · 4975 阅读 · 0 评论 -
【plt显示Tensor转出来的array时的报错】TypeError: Invalid dimensions for image data
简述当使用plt时去显示Tensor转出来的np.array时候,遇到这个问题。这是因为你使用的图是彩图(三维)导致的。且由于plt显示的时候,对于三维的图片要求的维度是[长,宽,通道数]解决方案对于数组处理下对应的维度即:array = array.transpose((1, 2, 0)...原创 2020-05-05 20:48:18 · 838 阅读 · 0 评论 -
模拟Sum函数
# 模拟sumfrom functools import reducedef add(x,y): return x + ydef sum(L): return reduce(add,L)L = [1,2,45,6,6,7]print(sum(L))原创 2017-10-06 18:24:10 · 2924 阅读 · 0 评论 -
[三个版本]自定义int()函数(Python实现)
代码一:from functools import reducedef int(string): def f(x, y): return x*10 + y def m(c): return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8,'9': 9原创 2017-10-06 18:39:00 · 1058 阅读 · 0 评论 -
回文数字生成器
def is_palindom(n): return str(n) == str(n)[::-1]for i in filter(is_palindom, range(1,1001)): print(i, end=" ")原创 2017-10-06 19:51:16 · 909 阅读 · 0 评论 -
模拟Sum函数(版本二)
from functools import reducedef sum(L): return reduce(lambda x, y: x + y, L)原创 2017-10-06 19:54:24 · 1234 阅读 · 0 评论 -
多因素排序
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]print(sorted(L, key=lambda x: x[0]))print(sorted(L, key=lambda x: x[1]))print(sorted(L, key=lambda x: x[0], reverse=True))print(sorted(L,原创 2017-10-06 20:05:17 · 1892 阅读 · 0 评论 -
[笔记]装饰器
import functoolsdef log(func): @functools.wraps(func) def wrapper (*args, **kw): print("call %s()" % func.__name__) return func(*args, **kw) return wrapper@logdef name原创 2017-10-09 00:00:05 · 241 阅读 · 0 评论 -
感知机模型[神经网络入门]
感知机模型为神经网络入门所学O = f(∑wij * Sj - θi)利用感知机,模拟一个简单的二值逻辑加法测试数据:x1 x2 y1 1 11 0 10 1 10 0 0 这里我们假设,阈值θi = 0初始权重全部为0代码如下 # 利用感知机模拟二值逻辑加法# 阈值取0import numpy as np...原创 2017-10-10 17:04:32 · 645 阅读 · 0 评论 -
[简单题]Counting Duplicates( Python 实现)
题目:原题目链接解法一:用时:100msdef duplicate_count(text): text = text.lower() aa = [0] * len(set(text)) i = 0 for s in set(text): for a in text: if a == s:原创 2017-10-03 17:44:22 · 663 阅读 · 0 评论 -
HDF5数据处理(一)python
关于HDF5的学习,我也是刚刚开始,欢迎大家一起学习(我想要在一个月内学完一本关于这个的一本书)==========================================HDF5是一种数据类型可以被C,C++,JAVA,Python使用的库可以支持EB级数据(如果不知道EB就算了)支持切片操作同时有:层次性分组和特征(感觉就像是一个文件夹类型的文件)如原创 2017-10-10 22:49:25 · 4273 阅读 · 0 评论 -
[简单题]换一个思维,代码简洁度就完全变了(Python实现)
题目名字:Human readable duration format原题链接:https://www.codewars.com/kata/human-readable-duration-format/train/python就是将一个秒钟化为人能看懂的时间,要注意细节,应该就是可以做出来的。以前打C++的时候做了蛮多的,不过这题好像不支持C++。但是我还是按照类似的思原创 2017-10-05 14:01:02 · 625 阅读 · 0 评论 -
插入排序InsertionSort(Python实现)
如果你对很多种排序都想要有个了解,可以点这里 如果你对插入排序的C++实现很感兴趣,可以点这里 如果你对MIPS汇编语言实现插入排序,可以点这里 用Python实现插入排序def InsertionSort(arr): if type(arr) is not type([1]): return "ERROR INPUT" i = 1 while i <原创 2017-10-21 08:47:26 · 1033 阅读 · 0 评论 -
KNN算法--手写输入判断(Python3)
可能对于有些人在以前看过这个例子,但是很不巧的是Python3和Python2的之间的一些差异,导致了照搬原来的那份是不能用了。 这里,我根据自己的情况和进行了改写要数据集的话,可以给我私信,或者是在评论去留言。我看到就会回复 记得用的时候,改写下那个文件名,看你自己是把数据放到哪了,就写哪。from numpy import *import osimport operatordef cla原创 2017-10-21 18:13:05 · 497 阅读 · 0 评论 -
求积问题[体会Python至简之道]
看到有在问,我就做一个类似问题的解答 问题链接 有兴趣可以点进去看一下 给出第一个解法:def multi(p): result =1 for i in p: result = result*(i) return results = input("输入一系列的数字\n")n = s.split()n = list(map(int, n))...原创 2017-10-15 12:57:01 · 626 阅读 · 0 评论 -
[笔记]ndarray切片(python)
ndarray的切片有意思,对matlab的模仿很像原创 2017-10-15 12:14:00 · 469 阅读 · 0 评论 -
Numpy.tile() (Python)
numpy.tile() 函数实现了数组扩展的功能 将原来的一个数组变为多个更高维度的数组原创 2017-10-14 12:24:05 · 585 阅读 · 0 评论 -
矩阵的行列sum() Python
有些时候需要对矩阵的求和按照行或者列求和 这时候就要用到了sum的axis参数了sum(axis = i) 表示关于坐标轴i进行求和,从0开始计数如果对于下面代码中的是tile()函数不理解,点这里原创 2017-10-14 12:37:13 · 1520 阅读 · 0 评论 -
operator.itermgetter() (Python)
从这个名字就可以看出,这个函数在 operator 库中 同时,这是个”项拿到器”(我个人认为这个翻译做到了 信emmmm(别讲什么信达雅了emmm)) 就是这个东西是一个项的生成器(准确说是个函数)。 可以通过这个东西,自定一个从一堆东西中找到对应项的那个函数看完例子就很清楚了原创 2017-10-14 14:23:08 · 1231 阅读 · 0 评论 -
Numpy.argsort()(Python)
这个函数在Numpy中也是很常见的一个函数 在这个做个小笔记原创 2017-10-14 12:53:08 · 559 阅读 · 0 评论 -
Knn算法(约会问题应用)
内容 = 机器学习书籍内容 + 个人实践过程海伦约会问题 我们要输入一个人的特征,看看这个人是否适合做海伦的约会对象 (虽然这个看起来好像有点偏应用了,但是稍微懂点就知道,还有谁恋爱的时候统计这些数据???但是也有学习的价值不是?(坏笑))原创 2017-10-15 17:11:47 · 2825 阅读 · 0 评论 -
Python画散点图(Knn中数据)
用之前做的KNN算法的数据画的散点图 我在这就只给出我变化之后main函数了 其实只是用了那个文件流的部分 可以在之前那个版本的knn算法中找到,或者你自己写一个就好了原创 2017-10-15 17:35:55 · 2232 阅读 · 0 评论 -
[笔记]filter,空字符,0,None都是False应用
前段时间遇到了一个哥们帮我解决了那个切片之后会剩下那个空字符串的操作 根据他的解释,我做一个总结 我当时是在问怎么解决那个切片完后有空字符 他的答案是: c = filter(lambda x:x, c) 简直是不能太赞了 根据filter的定义来看,说明了空字符为False 为了验证,我找了些资料确认了一下,发现确实如此 并且同为False的还有0和None 运行以下程序原创 2017-10-15 19:06:15 · 988 阅读 · 0 评论 -
Pycharm安装PyQT5调用QTDesigner
看这位老哥的来做,大体上是没有问题的。但是!!你还需要看下面的文字,很大可能!先别急着关掉我这个链接,很快你就会用到了这是一篇帮助文,所以我会先确定问题 我们这的问题是:安装的PyQT5中不包含有designer.exe文件 顺便会回答的问题是:找到PyQT5中的这个designer.exe文件Python用QTDesigner的原因: 这个是非常简单的啊,QTDesigner是用手去拖动那些按原创 2017-12-19 22:57:14 · 6418 阅读 · 1 评论 -
Python爬虫图形界面封装版本
功能 用图像界面的封装好的爬虫 用于爬取网页的超链接和对应的文字(Text)使用的库 import tkinter import requests from bs4 import BeautifulSoup运行效果: 点击查询 代码:# -*- coding: utf-8 -*-import requestsimport tkinterfrom bs4 im原创 2017-12-12 12:48:02 · 3969 阅读 · 0 评论 -
翻译软件(用百度的API实现)Python
最简单的翻译引擎(反正是用别人的API) 非常简单,也就100行不到的代码量 这还是我做了图形界面的效果 点击查询 // 代码是由我的一个另外一个项目改写的,所以也就有些命名怪怪的 :)import urllib.requestimport urllib.parseimport jsonimport tkinterclass FindURL(object): def __i原创 2017-12-13 17:25:31 · 1269 阅读 · 0 评论 -
Knn算法(机器学习)入门(Python实现)
看到这个名字,是不是觉得很高大上? 看到网上的那些大佬写了一堆的代码,一堆的分析,是不是有点头昏脑胀? 这还是机器学习中最简单的算法么? # =================== 如果你也遇到了什么这些迷惑,我想选择看这篇文章,可能会对你有很大的帮助,因为我也不喜欢那些复杂的推理什么的。(好吧,只是因为想安慰你们才这么说的) 相信短短的20行代码就会让你快速掌握Knn算法(机器学习中最原创 2017-10-14 14:51:10 · 1021 阅读 · 0 评论 -
Excel较大规模数据处理实例(可直接用)python实现
问题是这样的, 我是我们学校的寒招队伍的负责人。但是管理的人数实在是太多了。所以在这个地方的,我就想用下脚本去帮助自己进行管理。从效果来看,还是非常方便的。故事情节: 这次,我和两三个小伙伴们要一起先举办个去全员大会。但是本来会议人员数量简直都快超过了300人。而且由于会议举办的时间有点特殊,所以有很多人请假。这些学生来自于不同的高中,就算是在同一个高中,由于我们学校的的校区...原创 2018-01-04 18:47:28 · 26863 阅读 · 0 评论