![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 76
yuanzhoulvpi
喜欢写代码的数据分析师
展开
-
itertools包介绍——可以不用 但不能不知道——python包推荐系列
itertools包介绍——可以不用 但不能不知道——python包推荐系列原创 2023-01-07 11:19:55 · 2003 阅读 · 0 评论 -
isort包介绍——可以不用 但不能不知道——python包推荐系列
isort包介绍——可以不用 但不能不知道——python包推荐系列原创 2023-01-03 20:48:00 · 3163 阅读 · 0 评论 -
代码快一点~生活慢一点~【python性能调试工具分享】
代码快一点~生活慢一点~【python性能调试工具分享】原创 2022-12-28 15:24:23 · 383 阅读 · 0 评论 -
python高性能编程——单例模式和__new__
python高性能编程——单例模式和__new__原创 2022-12-25 14:46:34 · 741 阅读 · 0 评论 -
python帮我省下了这笔冤枉钱
python帮我省下了这笔冤枉钱原创 2022-12-21 21:18:09 · 4326 阅读 · 2 评论 -
python typing overload
python typing overload原创 2022-12-18 21:17:25 · 656 阅读 · 0 评论 -
python鸭子类型与protocol
python鸭子类型与protocol原创 2022-10-26 09:02:15 · 935 阅读 · 0 评论 -
np.partition介绍
np.partition介绍原创 2022-09-17 10:30:10 · 1887 阅读 · 2 评论 -
python计算离散积分
python计算离散积分原创 2022-09-17 10:29:00 · 3307 阅读 · 0 评论 -
傅立叶及其python应用
傅立叶及其python应用原创 2022-09-17 10:28:16 · 1439 阅读 · 1 评论 -
python创建智能问答机器人
python智能问答机器人原创 2022-09-17 10:26:53 · 5905 阅读 · 0 评论 -
python画高德地图
python画高德地图原创 2022-09-17 10:25:22 · 2819 阅读 · 0 评论 -
python版本的Pairs图
python版本的Pairs图原创 2022-09-17 10:24:21 · 651 阅读 · 0 评论 -
PyQt5多页面跳转
PyQt5多页面跳转原创 2022-09-16 17:10:17 · 351 阅读 · 0 评论 -
python vs C++ 谁更快
python vs C++谁更快!原创 2022-09-14 20:39:48 · 6415 阅读 · 10 评论 -
遥感和随机森林核心思想python
本文只是介绍了非常简单的一个遥感数据模版:读数据、处理数据(包括使用机器学习建模了)、可视化数据。没有介绍机器学习别的知识,我后面会带大家使用交叉验证等一些优秀的方法来分析处理数据。里面还有一个彩蛋:对150万个点做mask,只用了0.1秒。🥳遥感数据千千万、机器学习模型、参数也是无穷无尽的。但是只要把握住本质,就可以逐一击破!我文章分享技术、代码都是公开免费的,但是帮助客户处理数据都是保密和收费的我这里提供遥感数据分析建模服务,如果有需要的小伙伴可以联系我。原创 2022-09-12 09:32:07 · 2579 阅读 · 7 评论 -
R语言python时间序列处理
无原创 2022-09-12 09:30:22 · 408 阅读 · 0 评论 -
地图还可以这么画_3D版
map add 3d bar原创 2022-08-13 08:43:21 · 1180 阅读 · 1 评论 -
你写过哪些真正生产可用的 Python 装饰器?
经常在学习python递归的时候,大家总是可以看到lru_cache装饰器,说这个装饰器可以减少重复函数的计算。那么我们今天就来看看,这个函数的一些优缺点。帮助大家从全新的维度来理解一下。常规的函数一般来说,我们都是直接使用递归函数的。就像是下面这样的代码:计算斐波那契数列的代码。很常见。def fib(n): if n < 2: return n else: return fib(n-1) + fib(n-2)import timeit原创 2022-05-19 14:43:00 · 454 阅读 · 1 评论 -
python “__name__”到底是什么东西
背景大家经常在 python 的脚本文件中,会遇到这样的代码:if __name__ == "__main__":,那么有没有人知道这到底是干嘛的。今天就分享一下这个到底是干嘛的。1. 直接运行创建一个文件夹code0516。然后在这个文件夹下创建一个名叫one.py文件,并且写入下面的代码:# file one.pydef func(): # Line 1.1 print("func() in ONE.py")print("top-level in ONE.py") # l原创 2022-05-16 22:09:45 · 1869 阅读 · 2 评论 -
conda的常规使用方法
1. 背景经常在群里看到有人问,conda到底怎么管理,python的环境怎么隔离。或者类似于python环境管理之类的。这里做一次我经验分享。这不是最优的管理经验,只是作为一个参考。起码我就是这么用的。python的环境管理类型太多了。比如pyenv、poetry、conda。各有千秋,但是我看很多做数据科学的,都是使用conda。我也是从用python开始,也就是一直使用的是conda。2. anacondaanaconda是一个公司名字;然后这个叫anaconda公司做的原创 2022-05-14 20:52:10 · 2001 阅读 · 1 评论 -
使用C写Python的模块
背景之前已经写过一个rust给python做扩展包的了。然后我就在想,如何使用C给python做扩展呢,毕竟python的底层就是使用C写的。于是整理了网上的资料,分享一个简单的demo。环境系统:MAC 12.3.1系统(已经安装xcode)IDE:使用的是Clionpython:Anaconda安装的python 3.9版本步骤1. 创建项目使用clion创建一个项目:【C可执行文件】 -> 项目名称为【untitled0430004】-> 语言标准为【C17】。2原创 2022-04-30 08:05:53 · 1274 阅读 · 0 评论 -
从实战角度来看类的继承小细节
背景前一段时间,经常把transformers包的源码拿出来看看,给我留下影响非常深刻的就是transformers包的设计模式。非常的优秀。而实现这个设计模式,自然离不开python的class模块。类的继承起到了非常大的作用。那么就类的继承这一部分,对类的继承做一做分享。问题归类问题1 两种super写法有什么差异么?class Animal: def __init__(self, name, age): self.name = name self.原创 2022-04-27 21:30:29 · 1107 阅读 · 0 评论 -
rust加速python
背景之前都是在看C/Cpp,也在努力的学这两个语言。但是感觉太难了。语法太多了(主要还是人笨,学不过来)。一直也在看rust,感觉rust写起来和python差不多优雅,而且写法和c++又是有点类似。然后最近空闲时间就把《Rust程序设计语言》和《通过例子学Rust》两本书看完了。学到了不少新内容。最近也发现一些新的包,比如一个叫polar包的,提供类pandas的功能,但是比pandas更快,这个包的底层是使用rust写的,并且python也能使用。那我就在想:“我能不能学习一下,看看怎么让py原创 2022-04-23 11:23:00 · 1058 阅读 · 0 评论 -
探索 感受 发现 python设计模式的艺术性
知识分享清明假期的时候,有人从上海回来,成功的把我们小区搞封闭了。导致我在家不是安装电脑,就是在看水浒,或者就是稍微看了一点python知识。其中最有价值的,或许是阅读了那个《python实现设计模式》的文章,学习了很多。文章链接:https://zhuanlan.zhihu.com/p/31700225这篇推文就是和大家分享:我学完的感受和认识。过程作为小白说实话,我之前不太会写class,我大概也是在学习python后的2~3年后,才渐渐的学会写class,之前看很多大佬的代码,写的非原创 2022-04-06 20:26:13 · 1075 阅读 · 0 评论 -
python与GIS数据处理——随机森林算法插值
背景这个是我系列插值文章的第三篇,使用机器学习插值(使用随机森林算法插值)。代码链接代码我已经放在Github上面了,免费分享使用,https://github.com/yuanzhoulvpi2017/tiny_python/tree/main/python_GIS。介绍本文是python与GIS数据处理系列中的插值部分————使用机器学习算法插值(随机森林算法插值)。我这里的方法并不是最简单的方法,并不是一行代码就能从头到尾实现这个插值功能的,我这里的目的是:使用python完善原创 2022-02-27 21:46:15 · 4862 阅读 · 6 评论 -
python工厂模式
背景最近一直在看transformers包的源码,搞nlp,怎么可能不看这个包的。中间遇到很多有意思的问题,这里和大家分享一下。遇到的问题:我在查看transformers包里面的一个自动加载模型的代码块,使用pycharm查看那个源码的时候,会把源码定位到位置1,但是使用调试器来看,源码又被定义到位置2。然后我就很奇怪,这种的到底是怎么实现的。然后我把问题放到群里,有一个群友说可能是python的工厂模式。我不知道能不能解决我这个问题,但是我发现这个模式竟然是我之前都没有遇到过的。因此,我这里分享一原创 2022-01-25 22:16:06 · 277 阅读 · 0 评论 -
c++ rust python谁更快
背景最近因为工作需要,一直在学C++。偶尔也看看rust,因为rust太香了。但是大部分时间都还是在使用python。看到网上有很多对比语言速度的文章,说什么rust吊打C++之类的,或者说什么python的numba吊打C++之类的。然后我也想做一期这样的内容。那么基于我现在的水平,对一个特定的问题,使用不同的语言做比较。看看不同语言的速度如何。问题这个问题就是最简单的euler14问题:就是计算一个正整数要经过多少步可以到1。每一步条件是:如果是偶数,那么就除以2,得到下一个数字。如原创 2022-01-20 21:05:38 · 2832 阅读 · 3 评论 -
python tips003 ——DataLoader的collate_fn参数使用详解
背景最近在看sentences-transformers的源码,在有一个模块发现了dataloader.collate_fn,当时没搞懂是什么意思,后来查了一下,感觉还是很有意思的,因此来分享一下。dataloaderdataloader肯定都是知道的,就是为数据提供一个迭代器。基本工作机制:在dataloader按照batch进行取数据的时候, 是取出大小等同于batch size的index列表,然后将列表列表中的index输入到dataset的getitem()函数中,取出该index对应的原创 2022-01-03 10:38:10 · 4797 阅读 · 0 评论 -
基于FastAPI异步化 为transformers模型 打造高性能接口
背景最近公司需要用到一个Bert模型,使用这个模型对一个短文本做实时的encode(也就是实现文本转换成向量)。因为模型是基于python的transformers和sentence_transfromers。也就是只能使用python来做。整体的数据流都是通过java来调用,而python这端只需要提供文本转向量的接口即可。因为之前就比较喜欢使用fastapi,而且fastapi也比flask快得多。因此将fastapi结合sentence_transfromers是再正常不过的了。过程简单版本原创 2021-12-30 20:05:47 · 2394 阅读 · 2 评论 -
分清staticmethod 和 classmethod 的适用场景(由浅入深介绍)
背景最近在看sentences_transformers的源码,在cross_encoder部分中的有的代码,看到了使用classmethod。没看懂是啥意思。后来查了很多博客,博客也都写的乱七八糟的。太复杂了。这里就是分享一个入门教程。为什么要使用类我个人的感觉是使用类:可以保证我的数据变量都在同一个对象里面,不会污染到主环境。将所有的函数,数据流都放在一个类里面,可以让我们代码看着更加简单。所有的方法都放在一个类里面,可以复用到别的地方。我其实用类也就是为了上面几点,别的我真的想不起来原创 2021-12-29 10:33:30 · 470 阅读 · 0 评论 -
python tips系列1——pandas的map函数
前言大家在使用pandas的时候,大部分可能就是一些匹配关系,主要也就是使用merge函数之类的。但是有时候在匹配的时候,并不需要使用merge的函数,使用别的函数也是可以做到,今天也就是给大家分享一个找BOSS的代码。问题有这样的一个数据,这个数据的第一列是员工的ID,第二列是员工的Name,第三列是这个员工所属的直接部门,第四列代表这个员工所属的上级部门。那么我要想找到员工的boss应该怎么办?数据代码如下:import pandas as pdimport numpy as npdf =原创 2021-12-23 09:57:42 · 4939 阅读 · 0 评论 -
高效获得准确的中国地图数据并进行可视化
[2022-05-18日更新] getchinamap包更新不知道是不是gitee疯了,把我在上面托管的一个数据给禁止了,导致我这个包用不了了。这里做一次更新。目前建议所有人升级getchinamap包到1.0.6版本。之前的版本都用不了了。本次包主要修改了下载器初始化的步骤,具体查看下方的步骤。介绍因为获得中国地图数据难的问题,解决中国地图数据不准确、不全面问题。我发布了一个python,让你使用中国地图更加方便。效果图from getchinamap.getchinamap impor原创 2021-12-21 15:59:30 · 3123 阅读 · 11 评论 -
[自制]python批量压缩图像
背景今天在工作中,同事遇到一个上传图片的问题:系统要求的图片大小不能超过512KB。但是同事又有很多照片。这要是每一个照片都用ps压缩的话,那岂不是很崩溃。于是我写了一个脚本,可以批量压缩图片到指定大小。直接造福同事、提高同事的工作效率。解决方案其实也不用卖关子了,就是使用python的pillow包就可以对图片进行压缩,如果一个图片已经压缩到指定大小了,那就停止压缩,如果没有达到指定大小,那就对压缩后的图片再进行压缩,直到压缩到自定范围内。可是为什么不在网上找代码呢?我也是找过,但是发现很多代码质原创 2021-12-20 20:14:41 · 1127 阅读 · 2 评论 -
[原创]全球实时碳数据网站爬虫[全网首发 免费分享]
介绍这几年一直很火的就是碳排放,那么关于碳数据的检测就比较重要,可能一些同学对这部分数据比较感兴趣,想要收集。这里介绍一个网站,网站里面有一些主要国家的碳数据,涉及到的行业有:‘全国’, ‘电力’, ‘地面运输’, ‘工业’, ‘居民消费’, '国内航空’等。网站链接: https://carbonmonitor.org.cn/user/data.php?by=WORLD网站截图:这里再附上几张主要截图(地区为全球,时间只显示了2020、2021年):整体来说,可以发现数据还是相原创 2021-12-10 10:41:17 · 2440 阅读 · 2 评论 -
[原创]python计算中文文本相似度神器
介绍最近因为工作需要,需要使用一个功能,就是中文文本相似度的计算。属于nlp领域的一个应用吧,这里找到一个非常好的包和大家分享。这个包叫sentence-transformers。这里给大家介绍,如何使用这个包对中文文本做相似度计算(这个包的其中一个小用途罢了)这里使用的模型是paraphrase-multilingual-MiniLM-L12-v2模型,因为paraphrase-MiniLM-L6-v2模型已经非常好了,paraphrase-multilingual-MiniLM-L12-v2是原创 2021-12-06 20:17:33 · 17740 阅读 · 15 评论 -
python获得百度指数脚本[免费分享]
前言有时候大家需要知道一个关键词在互联网上的热度,想知道某个关键词的热度变化趋势。大家可能就是使用百度指数、微信指数之类的。非常好用,但是就是不能把数据下载保存下来,不方便我们后面进行操作。我无意间看到别人提供的python脚本,可以对百度指数进行爬虫,于是我稍微修改了部分代码,做了一个可以直接返回pd.DataFrame的数据框的类;然后后面又加了一个小的可视化代码。这里和大家分享,只要使用这个脚本,就可以将百度指数数据下载下来,并且保存。具体步骤1. 获得cookie值百度指数是需要登陆,进行原创 2021-11-30 13:33:53 · 7910 阅读 · 35 评论 -
股票数据下载脚本(开源 免费 全网首发)
股票数据搞到手难搞时间序列的,难免会需要用到股票数据,但是现在搞股票数据岂不是一言难尽,有下面几个困难吧:数据下载需要积分,积分越高,下载的时间范围就可以选择久一点。数据完全需要买,不买还不给你用。这些痛,我在做我大学毕业设计的时候,都经历过????。现在我有时间了,我决定要解决这个痛点。解决方法我自己写了一个python脚本,可以下载任意股票数据(只是个股股票,不包括指数型股票)。对股票的时间范围下载没有任何限制。脚本特点这个脚本有什么特点:使用起来简单:放到文件夹里面,或者复制到原创 2021-10-26 10:49:16 · 561 阅读 · 0 评论 -
python与时间序列基本教程4(超过1.9万字 代码超过900行 包括49个图)
介绍代码、数据全部免费,都放在我的gitee仓库里面https://gitee.com/yuanzhoulvpi/time_series,想要使用的可以直接到我这个仓库下载。本文是继python与时间序列(开篇)的第4篇,详细介绍了一些时间序列的描述性统计知识,并且附有代码、数据。百分百可以复现。本文内容比较多【初略统计:所有文本超过1.9万字,代码有900行】。jupyter notebook目录如下:介绍时间序列导入时间序列数据处理(清洗)数据对数据进行可视化时间戳和时间段使原创 2021-10-07 11:51:41 · 467 阅读 · 0 评论 -
fastapi如何使用http2
fastapi如何使用http2以前fastapi支持的服务器只是uvicorn、但是现在我看官网上显示也支持了Hypercorn等。Hypercorn是支持http2的,这里写一个教程,介绍如何使用fastapi和Hypercorn开启http2。安装Hypercorn和fastapipip install hypercornpip install fastapi写个脚本创建一个python文件,文件名为:myapp.py, 内容如下:from typing import Optio原创 2021-10-07 11:16:39 · 1218 阅读 · 0 评论