Python经验池
文章平均质量分 76
IT里的交易员
一边是编程、一边是交易!生命不息,折腾不止!如果你也喜欢编程,喜欢交易,喜欢量化,欢迎常@!
展开
-
【Python小技巧】使用prettytable格式化显示dataframe数据
经常我们使用print(df)输出dataframe数据,打印输出的数据没有格式,看起来屏幕一篇乱。有没有一种可以格式化输出的工具?还真有,那就是prettytable。虽然只是一个简单的方法,但可以使我们的表格清晰的展现出来。对于需要检查数据非常的方便。原创 2024-10-22 16:06:09 · 323 阅读 · 1 评论 -
【Python小技巧】将df中字符串类型的数据转换为数值型,其它则保持不变
将df中字符串类型的数据转换为数值型,其它则保持不变。原创 2024-10-22 15:53:38 · 252 阅读 · 0 评论 -
【Python小技巧】一行conda命令升级Anaconda中python到指定版本
听说python出了新版本,想升级却不知道怎么升级,升哪个版本?python 3.10用着还不错,现在python都出了3.13版本了,而且3.11较之前的版本效率提升不是一点点!但鉴于第三方库的兼容问题,考虑再三,就先升级到3.11版本吧。升级很简单,就是过程很耗时,毕竟需要下载很多包。但还好,一条命令运行后,输入Y确认后就不用管了。好在运行效率确实有提升,一切都值了。这个方法同样适合虚拟环境。只是需要先切换到对应环境。原创 2024-10-22 15:48:34 · 1072 阅读 · 0 评论 -
【Python小技巧】移花接木解决[Errno 2] No such file or directory: ‘matplotlib-3.8.4.dist-info\\METADATA‘问题
安装了anaconda,使用pip安装第三方库,其实就是给anaconda3\Lib\site-packages添加东西而已。如果因为各种原因导致冲突或者误删文件,只要把文件凑齐放到该目录下,问题一般都可以顺利解决。甚至不使用pip命令安装,只需要把其它电脑对应的包安装的目录复制过来也是可以用的,当然这个需要python的版本是一致的。一般还是用pip安装,避免不必要的麻烦,毕竟还有库依赖的问题。好了,就聊到这里。原创 2024-09-29 23:55:24 · 551 阅读 · 0 评论 -
【量化数据】使用DiskCache高效、持久化存取股票行情信息,彻底解决行情焦虑!
量化交易,数据先行。可你是不是也经常遇到:行情没下载读取不到,下载了读取不够快,直接订阅行情数量又不够,或者速度不够快。那么你可以尝试一下下面这个方法。我们这里只是简单的介绍了DiskCache的一下主要操作和用法,并对量化需要用到的行情信息读写进行了展示,作为基本应用已经足够用了,基本操作也就这些了。在使用了mysql,sqlite,txt,redis,综合速度和持久化,个人更倾向于DiskCache。量化交易,数据先行。原创 2024-09-23 17:37:58 · 721 阅读 · 0 评论 -
【Python小技巧】使用python一键批量按顺序打印目录下所有文件(pdf,word、图片统统一起打印,不想打印的也可以跳过,限制打印解除限制再打印)
为迎接检查,需要提供很多文件,还要求打印。打印文件本身没什么难度,问题是批量打印文件,文件还在不同目录,目录还套目录,还要求按顺序打印,有pdf文件,还有图片,一个一个文件打开,一个一个点打印,再按顺序归档,这谁记得住啊!不行,我得找python帮忙!以上方法,经过实践,批量打印几千个文件,那就是喝杯咖啡的事儿。别人还在忙着打开目录,打开文件,打印文件,关闭文件,再打开再打印再关闭。你只需要运行一下,就可以去泡杯咖啡去品尝了。只要打印机纸墨管够,剩下的就是打印完去拿回来就完成了。原创 2024-09-18 14:41:25 · 948 阅读 · 1 评论 -
【Python小技巧】openpyxl读取xlsx文件报错the workbook source files contain some invalid XML的解决办法
目前最终版本是3.1.5,显然大于现在的3.1.2,果断使用pip install openpyxl -U升级openpyxl。升级完成后,再次程序,无论xlsx文件是否存在筛选,读取数据都不再报错且数据读取也没问题。检查openpyxl版本,执行如下命令pip show openpyxl,版本为3.1.2。查看excel文件,发现其中有筛选,去除筛选后再次执行程序,一切OK。一个文件这么去掉筛选没什么,但文件sheet较多,一个一个做有些折腾!另外,这个问题openpyxl应该也发现了吧。原创 2024-09-02 15:48:50 · 985 阅读 · 0 评论 -
【实践出真知】使用Docusaurus将md文档组织起来就是一个网站(写API文档,写教程、写日记、写博客的有福了)
前段时间,学习Flet,访问到Flet中文网,被其简洁的风格吸引,就想着以后将自己的内容也整理一下。最终发现该网站是用Docusaurus这个工具实现的。以后写API文档,写教程、写日记、写博客有福了,只要写出markdown文档即可。现在包括csdn等很多平台都是md文档。这样移植也非常方便。下面就让我们来认识一下吧。初步探索,后面就可以根据自己的需要补充完善了。不得不说,Docusaurus是真方便,还免费,而且功能强大,是一个不可多得的利器。原创 2024-07-31 09:08:54 · 975 阅读 · 0 评论 -
一招解决conda报错:You have chosen a non-default solver backend > (libmamba) but it was not recognize
conda本来就是解决Python运行环境各种复杂的问题,结果还是在这里掉坑里了。还好官方文档给了各种解决思路。以后问题实在解决不了,就多看看官网文档!原创 2024-06-06 00:56:57 · 3512 阅读 · 2 评论 -
【大麦小米学量化】使用一招搞定各种股票代码格式转换(含完整源代码)
在量化实践过程中,经常因为不同库使用不同的股票代码形式,所以需要来回转换股票代码,以符合作业环境。为方便不同形式的要求,现将常用的格式做了函数,方便调用。这个函数考虑了股票常用的各种形式,包括大小写,调用的时候选择相应的kind即可。原创 2024-05-22 21:43:19 · 692 阅读 · 0 评论 -
【Python小技巧】Python代码中加入对matplotlib版本号的识别,解决窗口最大化过程中调用代码不一致的问题
Python在更新,Python的各种库也在更新,有时候碰到之前的调用方法用不了了,是常有的事儿。这个比较头痛。以后,大家在发现问题后,也要多留一个心,同样的代码运行不了,很可能就是环境不一样了。关键的几个大库,版本一定要匹配。对于版本不一致的问题,如果可以判断版本号,均可以在代码中设置判断语句,以保证代码运行在哪个环境都不报错。如果对你有帮助,就留个赞吧!原创 2024-05-07 20:44:31 · 692 阅读 · 0 评论 -
【Python小技巧】matplotlib不显示图像竟是numpy惹的祸
Python3.10 使用matplotlib绘图,显示不出图像。首先排除代码的问题,因为使用Python3.8的虚拟环境显示是OK的,换到Python3.10却不行。为什么,折腾了好久,终于让我找到原因了。这里分享一下,希望可以帮助到大家。几经折腾,看来不是Python 3.10 的问题,问题出在各种库的互相配合上。虽然通过虚拟一个低版本的python环境也可以解决matplotlib显示的问题。但作为研究,我们还是要深入一些。原创 2024-05-07 11:55:23 · 3084 阅读 · 0 评论 -
【Anaconda】Anaconda Navigator升级二三事(JSONDecoderError、MultiError、.condarc文件与conda update --force conda)
时间长未升级Anaconda Navigator,想着升级以下,结果报错了,提示JSONDecoderError,郁闷。之后又报错MultiError。反正是各种报错,最后通过命令行搞定。升级过程问题较多,网上的解决办法可以参考,但也要注意查看深层原因,最终解决问题。希望可以帮到各位!原创 2024-05-06 16:12:57 · 2581 阅读 · 0 评论 -
【Anaconda】升级Anaconda Navigator提示JSONDecoderError,删除.condarc文件后搞定
时间长未升级Anaconda Navigator,想着升级以下,结果报错了,提示JSONDecoderError,郁闷。各种尝试,最终搞定,这里分享一些,希望大家可以避坑。有些人在创建Python虚拟环境时如果碰到这个问题,也可以使用如上方法哦!原创 2024-05-06 15:02:03 · 555 阅读 · 1 评论 -
【Python小技巧】一招解决Python程序调用文件时的相对路径、绝对路径问题
你有没有碰到,下载了网上python代码,但本地运行时,老是报错文件找不到,调了这行,那行又报错,让人很崩溃!本文教大家一种方法,轻松解决绝对路径、相对路径带来的文件找不到的问题。方法很简单,希望可以帮到你!原创 2024-04-12 17:08:42 · 787 阅读 · 1 评论 -
【Python小技巧】使用sqlite的内存数据库提高股票行情数据读写(附代码)
SQLite 内存中数据库是完全存储在内存中(而不是磁盘上)的数据库。使用特殊数据源文件名 :memory: 可创建内存中数据库。连接关闭后,数据库会被删除。使用 :memory: 时,每个连接都会创建自己的数据库。今天我们介绍了如何在内存中使用sqlite数据库。其中以下分别为不同形式的数据库,有兴趣的可以自行测试,对比读写速度。db = os.path.dirname(os.path.abspath(__file__))+"\\sqlite_stock.db" # 本地文件数据库。原创 2024-03-01 23:45:07 · 752 阅读 · 0 评论 -
【Python小技巧】将list变量写入本地txt文件并读出为list变量的方法(附代码)
使用Python,我们偶尔需要将一些变量保存到本地,并被其它代码读取作为参数,那么怎么办呢?这里我们只是演示了list变量,当然str、int、float、dict等也是可以的。需要的可以自己尝试。另外这里有一个小坑,如果读取txt文件使用a模式,将报错:或者报错为:SyntaxError: unexpected EOF while parsing,其实只需要改为r只读模式即可。原创 2024-03-01 22:10:28 · 652 阅读 · 0 评论 -
【Python小技巧】巧用SnowNLP将一段话一键生成srt字幕文件(后期结合moviepy可生成带字幕的视频)
最近在尝试moviepy制作视频,但是有时候需要制作字幕。一般视频剪辑软件都是手工添加字幕,这个很费时费力。虽然某音等可以自动识别语音添加字幕,但宝宝要使用moviepy制作视频,都已经有文字了,还需要再语音识别么?这就有点脱裤子放屁了。那有没有一种简便的方法呢?比如我给一段话就可以自动生成字幕。如何可以一键生成字幕文件?但皇天不负苦心人,还真让我搞出来了。要做字幕,首先就得处理文章断句。这个搞不定,后面都弄不成。但现在大部分的自然语言处理库基本都是针对英文的,那需要处理中文,怎么办呢?原创 2024-01-22 20:24:54 · 1704 阅读 · 2 评论 -
【Python小技巧】利用Python通过MoviePy库编辑音视频并添加字幕(附代码,含导入导出注意事项)
使用Python编辑视频,各位有没有试过,我试过。虽然不如剪辑软件直观,但是各种剪辑软件需要手工操作每一步,一个小的操作不慎就需要挨个调节,那是考验耐心和费时费力的一件事儿。那么有没有可以使用程序进行视频编辑的方法?当然有!程序的好处是:设置好,一遍效果不好,重新设置下再运行一次就行,根本不用挨个操作。尤其是字幕!下面我们就简单介绍下如何利用Python通过MoviePy库编辑视频。以上只是Moviepy库使用方法的一个简单示例。通过以上方法,我们可以方便地进行视频剪辑、音频剪辑、添加文字的操作。原创 2024-01-22 00:02:19 · 2456 阅读 · 0 评论 -
【Python小技巧】moviepy读取字幕srt文件报错‘gbk‘ codec can‘t decode的解决办法(修改subtitles.py中SubtitlesClip类完美解决)
最近研究moviepy,使用其给视频添加字幕,却发现一个很久不会碰到的问题----文件编码问题。这在python3.x很少发生了。不成想,moviepy还是有bug。debug也是编程乐趣之一。不过写到这里,希望以后官方升级可以修复这个问题。以前python2.x文字编码老是各种出错,改用python3.x后,编码及中文问题都得到了解决。不曾想还是会应为编码问题倒是文件打不开或者乱码。以后看到这个提示,先检查字符编码。然后就是打开方式,通常都可以解决。原创 2024-01-17 16:50:25 · 1464 阅读 · 0 评论 -
【大麦小米学量化】将list写入csv并读取还原为list(自选股操作)
有时候我们需要将list写入本地文件,作为交换信息由其它程序进行读取。就比如,做量化交易的时候,一个程序进行选股,一个程序读取选股信息后进行交易。当然也可以写入redis等,方法很多。但写入本地csv文件最简单,毕竟自选股的结果就是一个list就够了。下面进入正文。为了快速实现信息交换,博主尝试了很多方法,这个方法既简单,需要的代码也最少。极容易上手也不容易出错。如果有人说我要保存成dict,可以移步到博主TOML的文章。【TOML配置文件】配置文件我用TOML!人性化,少出错!原创 2023-12-15 21:44:40 · 244 阅读 · 0 评论 -
【Python小练手】使用PySimpleGUI和Pygame创作一个MP3播放器(附完整代码)
闲来无事,做了MP3播放器练练手,主要是研究下PySimpleGUI的界面窗口设计。先上图,一睹为快。提示:以下是本篇文章正文内容,代码亲测可用本文通过对MP3文件播放,学习了PySimpleGUI和Pygame的基本操作,调测心得如下:1、PySimpleGUI的layout 为界面构成,使用列表即可完成界面设计,这个很简单,对于设计简单的GUI交互界面确实很高效。key是操作这些界面元素的关键,当然也可以用界面文字,因为不好控制,最终增加了key来实现文字修改和操作。原创 2023-11-11 13:37:15 · 1530 阅读 · 2 评论 -
【Python小技巧】使用map函数时注意先用.str.strip()剔除左右空格
做大数据分析时,我们常用dataframe,在具体训练前一般需要先进行数据转换,map是常用方法之一。最近碰到一个问题,百思不得其解,最终发现问题所在。著文方便同样碰到问题的朋友。原创 2023-08-02 09:54:58 · 451 阅读 · 0 评论 -
【AI之路】使用huggingface_hub优雅解决huggingface大模型下载问题
Hugging face 资源很不错,可是国内下载速度很慢,动则GB的大模型,下载很容易超时,经常下载不成功。很是影响玩AI的信心。经过多次测试,终于搞定了下载,即使超时也可以继续下载。真正实现下载无忧!究竟如何实现?且看本文分解。原创 2023-07-28 16:09:07 · 20940 阅读 · 12 评论 -
【Python小技巧】browser_cookie3访问Chrome浏览器Cookies文件报错的解决办法
近期需要使用Chrome访问网页,并通过browser_cookie3需要提取其Cookie作为登录验证,之前113版本的Chrome浏览器写的代码都可以正常运行,但最近总是错误频发,总不能正常运行。甚是头疼。虽然解决方法很简单,过程中却经历了各种折腾,但也对浏览器、操作系统等有了更深的认识。尽管在程序调试中出现一下问题,但也证明Chrome浏览器在安全方面更强一些。另外就是解决问题就和解方程一样,一条路不通,可以换一条路。也许问题很快就可以解决!原创 2023-06-27 20:30:00 · 4189 阅读 · 9 评论 -
【Python小技巧】使用python输出加减乘除口诀表
偶尔我们需要打印下加减乘除口诀,网上有用EXCEL输出,我们是Python Coder,就来段代码做一个口诀表吧。其实程序很简单,就是个嵌套循环就可以搞定了。原创 2023-06-26 17:29:41 · 2008 阅读 · 0 评论 -
【Python小技巧】df转字符串用df.to_string(),字符串转换回DataFrame怎么办?
平常我们使用pandas,一般使用的是DataFrame和Series,但个别交换数据的时候,只能使用字符串,我们需要将df转为字符串输出。但交换完的数据,我们又需要将字符串再转回DataFrame格式,这个怎么办呢?下文我们就来看看,如何处理?文中df代表DataFrame数据。将DataFrame转化为str进行数据交换,但最终我们还是需要使用DataFrame来处理数据。在转换回DataFrame时,要注意str的存储内容依然保持DataFrame的格式形式,否则将引起转换异常。原创 2023-06-13 09:33:56 · 4796 阅读 · 0 评论 -
【Python小技巧】解决os.path.dirname(__file__) 无返回值,无法获取当前目录的问题
目前是有Python3.8 和Python3.10 两个运行环境,不知道是否在其它环境也存在这个问题。这里展示一下,给大家填个坑。所以为了兼容不同Python环境,最终决定使用os.path.dirname(os.path.abspath(今日输出文件,需要用到当前目录,执行的时候发现,python 3.8在执行 os.path.dirname()) 作为返回当前目录的方法。原创 2023-06-11 22:00:36 · 978 阅读 · 0 评论 -
【Python小技巧】更换python版本解决了plt.show()不显示图像的问题
运行完,什么图也没渲染出来,python运行却结束了。你是不是也碰到过类似df.plot() 不显示图形的问题?python 3.10 在配合上总是有这样那样的问题,这已经是我碰到第二个通过降低python版本解决了的问题。以后,遇到问题又多了一个思路。原创 2023-06-10 22:40:40 · 4602 阅读 · 0 评论 -
【Python小技巧】.py .pyd .pyw 都是干什么用文件?想分发时加密py脚本文件?
学习Python有一段时间了, 但Python的文件格式你都了解么?他们的运行机制有哪些区别?扩展名为 .py 的文件包含 Python 源代码。这是Python语言脚本文件最常用的格式,文件明文展示代码。Python 语言如今已成为非常著名的语言。它可用于系统脚本、网络和软件开发以及数学。Python支持跨平台兼容;意味着用 Python 开发的应用程序可以在不同的平台上运行,如 Windows、MAC、Linux、Raspberry Pi 等。Python 提供了一种类似于英语的简单易读的语法。原创 2023-06-07 15:54:13 · 10444 阅读 · 0 评论 -
【Python小技巧】Python操控Chrome浏览器实现网页打开、切换、关闭(送独家Chrome操作打包类源码、Chrome浏览器Cookie在哪里?)
有时候我们需要通过控制浏览器完成一些操作,通常我们会安装Chrome驱动,但关于Python控制浏览器完成各种操作的教程,网上可以说很多,笔者也是各种学习,但经过测试使用还是对小白不友好。各种填坑在所难免。为了方便操作,避免踩坑,著此文以方便各位。各种测试,一个周末又报废了,写作不易,有帮助的话,留个言,也提高以下活跃度。原创 2023-06-05 21:09:11 · 13474 阅读 · 3 评论 -
【Python填坑记】树莓派运行python3代码,提示openssl版本过低,附升级openssl填坑过程
最近需要在树莓派上部署一些python代码,于是给树莓派升级安装了python3.9.7版本,但执行代码碰到openssl 版本太低的问题,致使python无法正常运行,这里把填坑日志记录一下,希望可以帮到需要的人。openssl是树莓派的底层库,虽然麻烦但还真跳不过,也不知道新版的树莓派系统解决这个问题没?希望大家填坑顺利,不要耽搁大家太多时间(折腾了我一个下午,各种搜索,测试,才搞定)。原创 2023-06-05 16:32:17 · 3246 阅读 · 0 评论 -
【Python小技巧】通过Anaconda虚拟环境解决Python新版本无法运行指定脚本的问题,并实现Notepad++一键运行 Python Anaconda虚拟环境
笔者今天碰到一个奇怪的问题,Python从3.8升级到3.10 后,一直以来还不错。但今天运行某个函数总是没反应就结束了。刚开始以为是pandas1.5.3升级到2.0.0版本的问题,当时因为2.0pandas运行很快就升级了,先排除这个。把pandas先升级到最新版,不行。后又降到1.5.3版本还是不行。一样的代码换到另外一台Python3.8.16的电脑就可以,把这个pandas升级到最新版也OK。突然想到应该可能是Python版本的问题。原创 2023-05-31 00:04:10 · 3025 阅读 · 0 评论 -
【Python小技巧】将pdf转为txt,并使用edge-tts将txt批量转为MP3(不想看书想听书的转过来,送源代码)
我们平常看到很多文件都是PDF格式,网上的各类书籍多为此格式。有时候不方便阅读,或者怕费眼镜伤颈椎,那么有没有一种方法可以把它变为音频,这样上下班路上也就可以听一听。这里做个科普,什么是TTS?TTS(Text To Speech,文本转语音)是语音合成应用的一种,它将储存于电脑中的文件,如帮助文件或者网页,转换成自然语音输出。edge-tts就是将微软的语音合成技术,他是将edge浏览器里提供的tts打包成Python第三方包,这样就可以免费调用微软的语音合成技术。原创 2023-05-04 22:53:12 · 1705 阅读 · 0 评论 -
【Python小技巧】使用Gradio 构建基于ChatGPT的AI绘图 Web 应用(附源码)
都说ChatGPT也可以生成图片,好奇的我也尝试包装了一个方法,在本地就可以通过Python访问openai并将结果展现出来,具体怎么做,请看下文。这里是ChatGPT 3.5引擎生成的图片,仅作一个展示,抛砖引玉。期待大家更好的作品!原创 2023-04-25 17:17:35 · 1486 阅读 · 0 评论 -
【Python小技巧】使用Gradio构建基于ChatGPT的 Web 应用(附源码)
随着人工智能的不断发展,各种智能算法越来越普遍,但是这些算法结果通常显示在cmd命令窗口里。有没有一种方法可以动态展示,更具需要计算后动态展现?答案是有!下面让我了解一下Gradio库,只需寥寥几行代码就可以展现出ChatGPT的对话窗口。经过包装,在本地就可以通过Python访问openai并将结果展现。Gradio 寥寥几行代码就能让原本抽象的算法瞬间变成可视化的交互应用,将原本干巴巴的结果形象地呈现出来,这对于智能算法的演示和结果验证非常有用。原创 2023-04-25 15:04:18 · 2109 阅读 · 0 评论 -
【玩转AI】高效在本地部署Auto-GPT服务,轻松玩转AI创作(也可以先体验一下,不用token也可以用)
在使用Auto-GPT之前,可以先体验下AgentGPT此项目基于Auto-GPT构建,输入目的即可看到系统自动运行,并展示结果。AutoGPT和其它 AI 程序的不同之处在于,其专注于在无需人工干预的情况下生成提示和自动执行多步骤任务。它还具有扫描互联网或在用户计算机上执行命令以获取信息的能力,这使其有别于可能仅依赖于预先存在的数据集的其他人工智能程序。原创 2023-04-23 22:59:30 · 2894 阅读 · 0 评论 -
【Python小技巧】一步到位升级到pandas 2.0.0正式版
工欲善其事必先利其器,大数据、AI时代,目前Python 最新版本是3.11 ,而Pandas也刚刚完成大升级,进入 2.0.0时代。网上关于测试升级后的效果文章很多,这里就不啰嗦了。使用中有情况再补充吧。原创 2023-04-15 09:13:28 · 10385 阅读 · 0 评论 -
【Python小技巧】无惧反扒,借用fake_useragent 爬取网页信息(附抓取金十数据新闻源代码,且用且珍惜)
以上例子,我们通过requests抓取了新闻,并对新闻content进行了筛选,这样就可以快速筛选出我们关心的新闻。有了fake_useragent 的加持,我们几乎可以抓取任何我们想要的新闻,而且不用怕被拦截。抓取新闻,我们可以存到数据库,方便进行归档分析。如果有必要,我们还可以将消息通过企业微信的接口发送到微信上。这样就可以实现对关键消息的实时掌握,不错过重要关注的消息。原创 2023-04-10 23:05:51 · 5891 阅读 · 0 评论 -
【Python小技巧】使用必杀技一键安装Ta-lib(其它第三方库装不上的也可以参考,链接下载不了可通过文中CSDN资源下载)
Ta-lib 是我接触量化做的第一个功课,所以早已轻车熟路。当初配置编译环境那个折腾啊。最后找到这个方法,简直不要太爽!当然,这个方法对其它库的安装也是适用的。打开以下网址,可以看到很多库,相应的版本都有。以后再也不用为安装第三方包出现各种异常发愁了。原创 2023-04-06 00:16:15 · 13681 阅读 · 5 评论