
Python
文章平均质量分 71
草根对Python的理解和使用
Python草堂
Python, Matplotlib,机器学习,数据分析领域的草根乐园,欢迎草根们来这里分享经验,寻找解决问题的办法!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python批量旋转裁剪图片实战
python批量旋转裁剪图片实战引子有一本PDF电子书,由扫描的图片生成的,每页的截图看起来如下图:它是展开扫描的,两页并列在一张图片上。并且每页又是分两栏,这样的PDF在手机、平板上,需要放大阅读,不停地左右移动,非常不便。就想到将PDF导出为图像文件,将张图片分割为两张,在合成为PDF,这样阅读起来就舒服多了。导出PDF为图像后,发现图像又是这样的:有两个思路:一是 在 PS 中创建一个动作,对图片进行旋转、裁剪、新建、粘贴、另存为操作,再对得到的图片重命名;不断重复这个过程。学原创 2021-11-17 11:34:24 · 3153 阅读 · 0 评论 -
纯 python 开发批量读取照片 Exif 信息的小程序
自己动手写一些小程序解决工作中的问题,是学习 python 的高效途径。这中间会遇到一些不动手想不到的问题,一个一个地解决它们,你 python 开发水平就会突飞猛进!本文总结了纯 python 写的批量读取照片的 Exif 信息保存到 csv, xlsx 文件中的小程序的结构。模块组成、图形界面、打包工具等。读取的信息保存为 .csv, .xlsx 文件。原创 2021-10-14 10:00:41 · 1242 阅读 · 1 评论 -
Pyinstaller 打包避坑指南之六
这是 pyinstaller 打包系列的最后一篇,主要讨论一下修改 `.spec` 文件,重新打包的高级用法。原创 2021-09-22 16:00:23 · 3611 阅读 · 0 评论 -
pyinstaller 打包避坑指南之五
运行 pyinstaller 命令的高级方式一般情况下,直接在命令行中运行 pyinstaller 命令就可以完成打包任务,但当配置的参数很多,又需要反复进行打包测试,每次都从头输入很长的命令是一件痛苦的事,还容易出错。这时,我们就可能想到用 .bat 批处理命令,但由于系统中有多个 python 环境,windows 的批处理经常因为找不到正确的打包环境而出错。推荐 通过 python 脚本来完成打包测试任务,步骤如下:从 windows 开始菜单启动 vscode,不要从 python pro原创 2021-09-18 10:32:25 · 775 阅读 · 0 评论 -
pyinstaller 打包避坑指南之四
pyinstaller 做了什么?运行pyinstaller 命令打包脚本,它主要做了以下事情:读取并分析你的脚本代码;找到执行你的脚本需要的其它模块和 python 库;收集这些文件的副本,以及活动的 python 解释器(打包环境);将这些文件的副本放到单个文件夹中,或单个可执行文件中。一般情况下,启动命令行窗口,并转到要打包的脚本所在的目录,通过一个简短的命令即可完成打包:pyinstaller myscript.py可以添加一些选项来控制打包的方式,例如:pyinstaller -原创 2021-09-17 11:39:02 · 5578 阅读 · 0 评论 -
pyinstaller 打包避坑指南之三
pyinstaller 打包的两种方式pyinstaller 有两种打包方式:产生一个目录作为完整的可执行程序,把这个目录 copy 给其他人,运行其中的***.exe文件即可运行程序;产生单独的可执行文件,即一个 ***.exe文件。我倾向于第一种方式,这也是 pyinstaller 默认的方式,要使用第二种方式,在 pyinstaller 命令中添加 -F参数即可。后面会介绍 pyinstaller 命令的主要参数及其用法。pyinstaller 命令示例下图是我打包时的命令:运行原创 2021-09-16 15:25:46 · 1995 阅读 · 0 评论 -
pyinstaller 打包避坑指南之二
pyinstaller 生成的包为什么那么大?pyinstaller 会把打包时的 python 环境中安装的所有库包都打包到生成的包中,我们日常编程的 python 环境日积月累地安装了各种 python 库,尤其是通过 Anaconda 平台安装的 python,集成的包就更多。并且 Anaconda 有一个 base 环境,编程虚拟的环境没有安装的库,有时会到 base 环境中去查找。所以,不要在 Anaconda 的虚拟 python 环境中打包。在 Anacodna python 环境中打包,失原创 2021-09-16 10:09:06 · 3354 阅读 · 1 评论 -
pyinstaller 打包避坑指南之一
引子部门需要对 3 个野外工作队的活动进行管理,要求野外工作队随时使用手机对工作内容进行拍照上传,照片中需要采集 GPS 位置信息,每个工作队每天要上传上百张照片,任务完成时采集了 1 万多张照片,需要整理这些照片的 Exif 信息,尤其是位置信息到数据库中,显然,人工一张一张地读取这些照片的 Exif 信息,并记录下来的工作量甚至超过了野外工作,是难已接受的。于是就想到:能不能用 python 写一段代码,批量自动读取这些照片的 Exif 信息并保存到 csv/xlsx 中呢?python 的 Ex原创 2021-09-15 16:48:57 · 859 阅读 · 0 评论 -
实例讨论数据可视化的配色思路
引子有一数据集如下:数据解读:研究对象的目标层 A 分为 B1, B2, B3 三个准则层;B1 层下有 C1, C2, C3, C4 4个指标;B2 层下只有 C5 一个指标;B3 层有 C6, C7, C8 3个指标。指标权重是该指标在所属准则层的权重;组合权重是该指标在目标层的权重。现在,要绘制上述数据的“组合权重”的饼图。如何给这个饼图配色呢?数据可视化配色的误区下图是群友绘制的图:他自己对结果不满意,他认为是颜色搭配太丑。我们来看看,他的配色问题出在哪:颜色太原创 2021-08-10 11:17:01 · 927 阅读 · 1 评论 -
python 找素数的思路和算法
昨天,python草堂 457079928 QQ 群里有一位网友发了一小段 python 代码,是求100以内的素数的问题。问他的代码问题出在哪?代码截图如下:这段代码运行的结果如下:显然,这段代码有两个突出的问题:不能正确判断一个数是否是素数;有很多重复的数。搜索 “python 素数”,会出来很多关于 python 求素数的文章和示例代码,一看,竟然有很多示例代码存在与他的代码相同的问题。一句话:搜索很方便,但垃圾也很多。就动手尝试用 python 实现了一下求区间内素数的问题,感觉原创 2021-06-25 15:43:00 · 7735 阅读 · 2 评论 -
matplotlib errorbar 仅绘制正误差棒简单方法
昨日,Python草堂群的一位网友问了一个问题:如下图,怎样去掉误差棒在条形图的里面的那一部分,即仅显示正误差棒,不绘制负误差棒。matplotlib 的 Axes 对象有一个 errorbar 方法,Axes.errorbar(self, x, y, yerr=None, xerr=None, fmt='', ecolor=None, elinewidth=None, capsize=None, barsabove=False, lolims=Fal原创 2021-04-30 09:10:30 · 2360 阅读 · 0 评论 -
Mpl绘制心肌模型图方法二:Axes.bar + polar 坐标系
上一篇介绍了 AHA 的 左心室17段分割模型的定义,和用 axes.pie() 绘制该模型图的方法。还可以用 matplotlib 的 axes.bar() + polar绘制该模型图,这种方法相对于 axes.pie() 方法更加灵活适用。模型的元数据、完整的代码、高清成图请到资源中下载:https://download.csdn.net/download/sinat_32570141/15196030Axes.bar() + polar 实现polar + bar 绘制圆环图 ringsm原创 2021-02-11 09:42:12 · 1254 阅读 · 3 评论 -
Axis 对象详解之一_创建我们熟悉的笛卡尔坐标系
Axis 对象详解之一_创建我们熟悉的笛卡尔坐标系matplotlib 使用下面的代码创建一个 figure, axes:import matplotlib.pyplot as pltfig,ax = plt.subplots()plt.show()就会自动创建左边和底边的 axis,在 matplotlib 内部,这个 axis 是如何创建的呢?Axes 是最重要的容器对象,包含大部分图形元素:Axis、Tick、Line2D、Text、Polygon等,并设置坐标系统。所以,m原创 2021-01-27 10:01:59 · 878 阅读 · 1 评论 -
matplotlib 绘图之坐标变换
本计划接着 Figure, Axes 对象,讨论 Axis 对象和 Ticks 对象。因为涉及到坐标变换,因此先把 matplotlib 的坐标变换总结一下。示例代码有很多重复部分,文中仅贴出关键不同的部分,需要完整的代码,请到这里 https://download.csdn.net/download/sinat_32570141/14926207 下载完整的 .ipynb文件。引子与其它绘图包一样,Matplotlib 包含用于确定画布上绘制的所有元素的最终位置的任意几何变换的框架,以便在不同的坐原创 2021-01-23 16:15:24 · 10338 阅读 · 1 评论 -
设置 jupyter lab 中使用 JetBrains Mono 字体
JetBrains Mono 字体一出,成为码农的最爱,在 jupyter lab 中如何设置使用这一字体呢?网上的方法众多,此法最便捷,随手记下,备忘:Settings --> Advanced Setting Editor --> User Preference添加:{ "codeCellConfig":{ "fontFamily": "JetBrains Mono" }}即可。...原创 2021-01-09 14:52:09 · 1408 阅读 · 2 评论 -
pyplot.plot 绘图 marker 过密怎么办?
plot marker 密度过大怎么办鉴于多数代码比较简单,本文的示例源代码就不全部放上来了,那样太长。需要的可以下载完整的 .ipynb 文件,包含了每一步的示例源代码,下载地址:https://download.csdn.net/download/sinat_32570141/14052756日前,Python草堂群的一位网友用pyplot.plot绘制的图形,开启 marker后,由于 points 密度太大, marker 堆叠在了一起,想少标注一些点,问应该怎么办?推荐两个方法:因为他是原创 2021-01-09 11:38:48 · 5956 阅读 · 4 评论 -
选择 DataFrame 列的方法大全
因 457079928 python草堂群,网友 @星河·璀动 问到pandas选择数据列的问题,故把自己的学习总结的笔记整理出来。完整的ipynb文件,和文中示例数据请移步python草堂群下载。注意:这些方法返回的都是视图。如果你确信原始数据的一些列是无用的,可以在删除这些列后,创建 DataFrame 的一个 .copy(deep=True),然后删除原 DataFrame, 以节省内存;如果列不是很多,在导入数据时就排除这些列。选择列的两种思路需要的列较少,直接选择需要的列;不原创 2020-11-23 10:57:15 · 6526 阅读 · 0 评论 -
一文彻底解决 matplotlib 中的字体管理
一文彻底解决 matplotlib 中的字体管理如果根据本文,在windows, matplotlib, python 中遇到字体的问题仍然不能自己解决,我先投降!!!使用 matplotlib 可视化数据时,经常要面对字体设置的问题。在要用到中文时,如果设置不当,会出现乱码。网上已经有很多文章提供了一些解决方法,但多数是片段式的“授人以鱼”,本文将系统地讨论 matplotlib 中的字体管理,希望能“授人以渔”。环境:Windows 10 + anaconda (python 3.8.3) + m原创 2020-11-20 14:47:36 · 16943 阅读 · 4 评论 -
字符集和字符编码(Charset & Encoding)
字符集和字符编码一文参透字符编码的难题!引子在 python 中,处理字符串是常见任务,因为字符串编码问题,经常出现字符串乱码。在 matplotlib 绘图时,text对象,如 axes_title, axis_label,使用中文时,也会出现乱码的情况。但这是因为字体管理的原因,与 python 解析字符串时的乱码,有本质上的不同。在 Python 中,有 2 种常用的字符串类型,分别为 str 和bytes 类型,其中 str 用来表示 Unicode 字符,bytes 用来表示二进制数据。原创 2020-11-20 11:40:47 · 2391 阅读 · 1 评论 -
numpy, pandas 中 axis 概念和运算过程解析
numpy, pandas 中 axis 概念和运算过程解析numpy 中有一个 axis 概念,多维数组运算时,我们常被 axis 弄晕!本文尝试在2维平面的表格中解析 numpy 4-d array 的运算过程。在 numpy, pandas 中,很多函数,尤其是一些描述统计函数都有一个 axis 参数。axis参数的不同,会得到不同的运算结果。pandas中的axis来源于 numpy, 两者的含义和规则是一样的。所以我们理解了 numpy 的 axis,对 pandas 中的 axis 参原创 2020-11-16 17:34:36 · 1750 阅读 · 1 评论 -
绘图时如何设置图像的大小和分辨率
前面用三篇文章讨论了图像的大小、分辨率等概念:004–学Matplotlib需要拧清的概念之Inches, PPI, DPI05-Matplotlib中图像的尺寸和分辨率06 - matplotlib中应知应会numpy存储、交换图像本以为这个方面的内容应该以讲得很清楚了,甚至可能太细、太深入了。但最近仍有网友在 python草堂 群里问到这个话题。今天再把三篇内容做一个串联,讨论一下:绘图图像尺寸;保存图像尺寸;显示图像尺寸;打印图像尺寸;之间的关系,并就绘图时应该怎样设置图像原创 2020-09-29 16:59:30 · 9596 阅读 · 0 评论 -
详解用 matplotlib 绘制动态条形图
详解用 matplotlib 绘制动态条形图端午安康!近日看到联合国网站提供的世界人口数据集,其中一个子数据集包含了各国 1950-2015年的人口数据。假日值班,有自由的时间,就基于这个数据集,用 matplotlib 实现了一个世界人口 66 年变化的动态条形图。最后的 gif 图:下面把实现的主要步骤记录下来。原始数据、详细的源代码请到 QQ群:python草堂,457079928 下载,有问题也可以到那里讨论。数据集介绍‘population_estimates.csv’ ,逗号分隔原创 2020-06-27 11:17:51 · 5030 阅读 · 3 评论 -
matplotlib._axes 子包架构
前情回顾前面我们详细介绍了 matplotlib 的Figure对象,以及 Figure 对象的add_axes() 和 add_subplot() 方法。matplotlib.artist模块提供了一个 Figure 类,它是顶层的容器型Artist,它容纳所有绘图元件。在2D平面坐标中,你应该把它看成一个矩形(Rectangle)区域。创建一个Figure也就是在画布上定义一块矩形区域。这个矩形区域有两个最根本的用处:可以再划分为多个子区域;如subplot就是在Figure矩形区域中划分子原创 2020-06-02 11:50:07 · 707 阅读 · 1 评论 -
matplotlib 配色之内置 colormap
Matplotlib 配色之内置 colormap概述让图表看起来比较美观是图表配色最末的目的,配色最核心的目标是为你的数据集找到一个好的表达。对于任何给定的数据集,最佳的配色取决于许多因素,包括:表现形式或者度量数据。你对数据集的理解(如:是否有一个偏离其它值的临界值?)如果你正在绘制的参数(变量本身)有一个直观的配色方案如果在这个领域有一个标准(行业配色标准或习惯),读者可能会...原创 2020-04-07 09:01:04 · 15800 阅读 · 1 评论 -
matplotlib 配色之 colorbar 模块详解
matplotlib.colorbar 模块详解引子上一篇我们围绕colormap颜色映射,详细介绍了matplotlib.colors 和 matplotlib.cm模块。使用matplotlib.colors模块可以完成大多数常见的任务。似乎很少需要直接使用matplotlib.cm模块。我们继续使用上一篇最后的例子来看看 matplotlib 设计 matplotlib.cm模块的用途...原创 2020-04-06 16:23:40 · 48930 阅读 · 3 评论 -
Matplotlib 配色 之 Colormap 详解
Matplotlib 配色 之 Colormap 详解颜色映射,colormap概述上一篇详细介绍了 matplotlib 直接使用"格式化的颜色定义"给图表元素配色。如,直接指定 axes.plot 绘制的 Line2D 的颜色 fmt = 'r'。有时我们希望图表元素的颜色与数据集中某个变量的值相关,颜色随着该变量值的变化而变化,以反映数据变化趋势、数据的聚集、分析者对数据的理解等信息...原创 2020-03-31 17:20:53 · 42551 阅读 · 9 评论