Python3
TreasureAI
New World beyond the Wall
展开
-
[Python3] Matplotlib —— (十) 文字与注释
文章目录十一、文字与注释(一)在图中添加文字标签(二)坐标变换与文字位置(三)箭头与注释[ Matplotlib version: 3.2.1 ]十一、文字与注释一些场景中,可视化需要辅之以少量文字提示(textual cue)和标签。(一)在图中添加文字标签最基本的注释(annotation)类型有坐标轴标题与图标题,此外,可以通过plt.text/ax.text命令手动添加注释,它们可以在具体的x/y坐标点上放上文字ax.text方法需要一个x轴坐标、一个y轴坐标、一个字符串和一些可选原创 2020-05-19 21:48:16 · 801 阅读 · 0 评论 -
[Python3] Pandas v1.0 —— (九) 高性能Pandas: eval()与query()
文章目录十二、高性能Pandas:eval()与query()(一)query()与eval()的设计动机:复合代数式(二)用pandas.eval()实现高性能运算pd.eval()支持的运算(1) 算术运算符(2) 比较运算符(3) 位运算符(4) 对象属性与索引(5) 其他运算(三)用DataFrame.eval()实现列间运算1. 用DataFrame.eval()新增列2. DataFrame.eval()使用局部变量(四)DataFrame.query()方法(五)性能决定使用时机[ Pan原创 2020-05-18 20:56:46 · 1103 阅读 · 1 评论 -
[Python3] Matplotlib —— (九) 多子图
文章目录十、多子图(一)plt.axes:手动创建子图(二)plt.subplot:简易网格子图(三)plt.subplots:用一行代码创建网格(四)plt.GridSpec:实现更复杂的排列方式[ Matplotlib version: 3.2.1 ]十、多子图有时候需要从多个角度对数据进行对比。Matplotlib为此剔除了子图(subplot)的概念:在较大的图形中同时放置一组较小的坐标轴。这些子图可能是画中画(inset)、网格图(grid of plots),或者是其他更复杂的布局形原创 2020-05-17 23:25:01 · 3469 阅读 · 0 评论 -
[Python3] 机器学习 ——(二)Scikit-Learn简介
二、Scikit-Learn简介Scikit-Learn为各种常用机器学习算法提供了高效版本。(一)Scikit-Learn的数据表示机器学习是从数据创建模型的学问,因此首先需要了解怎样表示数据爱你让计算机理解。Scikit-Learn认为数据表示(data representation)最好的方法就是用数据表的形式。1. 数据表基本的数据表就是二维网格数据,其中的每一行表示数据集中的每个样本(samples),而列表示构成每个样本的相关特征(features)。# 鸢尾花数据集import原创 2020-05-17 20:39:37 · 3307 阅读 · 0 评论 -
[Python3] Matplotlib —— (八) 配置颜色条
文章目录九、配置颜色条(一)选择配色方案(二)颜色条刻度的限制与扩展功能的设置(三)离散型颜色条[ Matplotlib version: 3.2.1 ]九、配置颜色条图例通过离散的标签标示离散的图形元素,然而,对于图形中由彩色的点、线、面构成的连续标签,用颜色条来表示的效果比较好。在Matplotlib中,颜色条是一条独立的坐标轴,可以指明图形中颜色的含义。通过colorbar()函数可以创建最简单的颜色条import numpy as npimport matplotlib.pyplo原创 2020-05-14 19:21:11 · 8419 阅读 · 1 评论 -
[Python3] Matplotlib —— (七) 配置图例
文章目录八、配置图例(一)选择图例显示的元素(二)在图例中显示不同尺寸的点(三)同时显示多个图例[ Matplotlib version: 3.2.1 ]八、配置图例在可视化图形中使用图例,可以为不同的图形元素分配标签。本文介绍如何在Matplotlib中自定义图例的位置与艺术风格。图例默认配置可以用plt.legend()命令来创建最简单的图例,它会自动创建一个包含每个图形元素的图例import numpy as npimport matplotlib.pyplot as pltpl原创 2020-05-14 18:56:03 · 1736 阅读 · 0 评论 -
[Python3] Matplotlib —— (六) 频次直方图、数据区间划分和分布密度
文章目录七、频次直方图、数据区间划分和分布密度(一)简易频次直方图(二)二维频次直方图与数据区间划分1. plt.hist2d:二维频次直方图2. plt.hexbin:六边形区间划分3. 核密度估计[ Matplotlib version: 3.2.1 ]七、频次直方图、数据区间划分和分布密度(一)简易频次直方图%matplotlib inlineimport numpy as npimport matplotlib.pyplot as pltplt.style.use('seaborn原创 2020-05-13 19:05:18 · 8443 阅读 · 1 评论 -
[Python3] Matplotlib —— (五) 密度图与等高线图
文章目录六、密度图与等高线图三维函数的可视化1. 用等高线图可视化三维数据2. 用彩色等高线可视化三维数据3. 带填充色的三维数据可视化4. 重新渲染三维数据彩色图5. 在彩色图上加上带数据标签的等高线[ Matplotlib version: 3.1.3 ]六、密度图与等高线图在二维图上用等高线图或者彩色图来表示三维数据是个不错的方法。Matplotlib提供三个函数来解决这个问题:用plt.contour画等高线图用plt.contourf画带有填充色的等高线图(filled cont原创 2020-05-13 18:48:49 · 6574 阅读 · 0 评论 -
[Python3] 机器学习 ——(一)机器学习简介
文章目录一、机器学习机器学习的分类1. 有监督学习2. 无监督学习3. 半监督学习一、机器学习机器学习经常被归类为人工智能(artificial intelligence)的子领域。虽然对机器学习的研究确实是源自人工智能领域,但是机器学习的方法却应用于数据科学领域,因此把机器学习看作是一种数学建模更合适。机器学习的本质是借助数学模型理解数据。当我们给模型装上可以适应观测数据的可调参数时,“学习”就开始了,此时的程序被认为具有从数据中“学习”的能力。一旦模型可以拟合旧的观测数据,那么它们就可以预原创 2020-05-12 20:34:06 · 490 阅读 · 0 评论 -
[Python3] Matplotlib —— (四) 可视化异常处理
文章目录五、可视化异常处理(一)基本误差线(二)连续误差五、可视化异常处理对任何一种科学测量方法来说,准确地衡量数据误差比数据本身更重要。在数据可视化的结果中用图形将误差有效地显示出来,就可以提供更充分的信息。(一)基本误差线基本误差线(errorbar)可以通过一个Matplotlib函数创建。fmt是一种控制线条和点的外观的代码格式,语法与plt.plot的缩写代码相同errorbar有许多改善结果的选项,通过这些额外选项,可以轻松自定义误差线图形的绘画风格让误差线的颜色比数据点的颜色原创 2020-05-11 19:30:10 · 1295 阅读 · 0 评论 -
[Python3] Matplotlib —— (三) 简易散点图
文章目录四、简易散点图(一)用plt.plot画散点图(二)用plt.scatter画散点图(三)plot与scatter效率对比四、简易散点图散点图(scatter plot),不由线段连接,而是由独立的点、圆圈或其他形状构成。%matplotlib inlineimport matplotlib.pyplot as pltplt.style.use('seaborn-whitegrid')import numpy as np(一)用plt.plot画散点图简易散点图x = np.l原创 2020-05-11 18:34:51 · 1250 阅读 · 0 评论 -
[Python3] Matplotlib.pyplot.plot图形符号、风格及颜色缩写速查表
Matplotlib.pyplot.plot图形符号、线条风格及颜色简写形式速查表注:图形符号、线条风格及颜色均为plot函数的可选参数如不指定符号和线条风格,默认为无符号的实线如不指定颜色,Matplotlib会为多条线自动循环使用一组默认的颜色Format StringsA format string consists of a part for color, marker and line:fmt = '[marker][line][color]'Each of them is原创 2020-05-10 23:39:41 · 14162 阅读 · 1 评论 -
[Python3] Matplotlib —— (二) 简易线形图
文章目录三、简易线形图(一)调整图形:线条的颜色与风格(二)调整图形:坐标轴上下限(三)设置图形标签三、简易线形图所有图形中,最简单的应该就是线性方程 y=f(x)y = f(x)y=f(x) 的可视化了。要画Matplotlib图形时,需要先创建一个图形fig和一个坐标轴axfigure(plt.Figure类的一个实例)可以被看成是一个能够容纳各种坐标轴、图形、文字和标签的容器axes(plt.Axes类的一个实例)是一个带有刻度和标签的矩形,最终会包含所有可视化的图形元素通常会用变原创 2020-05-10 18:21:15 · 1580 阅读 · 0 评论 -
[Python3] Matplotlib —— (一) 入门基础
文章目录一、Matplotlib常用技巧(一)导入(二)设置绘图样式(三)显示图形(四)将图形保存为文件二、两种画图接口(一)MATLAB风格接口(二)面向对象接口一、Matplotlib常用技巧(一)导入import matplotlib as mplimport matplotlib.pyplot as plt(二)设置绘图样式使用plt.style来选择图形的绘图风格(如经典风格classic)plt.style.use('classic')(三)显示图形1.在脚本中画图如果原创 2020-05-09 23:12:39 · 981 阅读 · 0 评论 -
[Python3] Pandas v1.0 —— (八) 处理时间序列
文章目录十一、处理时间序列(一)Python的日期与时间工具(二)Pandas时间序列:用时间作索引(三)Pandas时间序列数据结构(四)时间频率与偏移量十一、处理时间序列本文涉及的日期与时间数据主要包含三类:时间戳:表示某个具体的时间点时间间隔与周期:表示开始时间点与结束时间点之间的时间长度,周期通常指一种特殊形式的时间间隔,每个间隔长度相同,彼此之间不会重叠时间增量(time delta)或持续时间(duration):表示精确的时间长度(一)Python的日期与时间工具在Pyth原创 2020-05-09 19:14:43 · 1090 阅读 · 0 评论 -
[Python3] Pandas v1.0 —— (七) 向量化字符串操作
文章目录十、向量化字符串操作Pandas字符串方法列表1. 与Python字符串方法相似的方法2. 使用正则表达式的方法3. 其他字符串方法十、向量化字符串操作Pandas提供一系列向量化字符串操作(vectorized string operation)是在处理(清洗)现实工作中的数据时不可或缺的功能。Pandas字符串方法列表1. 与Python字符串方法相似的方法返回字符串Series[Series or Index of object]:方法参数描述lower()原创 2020-05-08 19:42:13 · 1303 阅读 · 0 评论 -
[Python3] Pandas v1.0 —— (六) 数据透视表
文章目录九、数据透视表(一)GroupBy 实现数据透视表(二)数据透视表语法 pivot_table1. 多级数据透视表2. pivot_table 主要参数解读九、数据透视表数据透视表(pivot table)将每一列数据作为输入,输出将数据不断细分成多个维度累计信息的二维数据表(多维GroupBy累计操作,行列同时分组)(一)GroupBy 实现数据透视表import numpy ...原创 2020-04-25 17:55:37 · 852 阅读 · 0 评论 -
[Python3] Pandas v1.0 —— (五) 累计与分组
文章目录八、累计与分组(一)Pandas的简单累计功能Pandas的累计方法(二)GroupBy:分割、应用和组合1. 分割、应用和组合2. GroupBy 对象3. 累计、过滤、转换和应用4. 设置分割的键八、累计与分组在对较大的数据进行分析时,一项基本的工作就是有效的数据累计(summarization):计算累计(aggregation)指标,如sum(), mean(), media...原创 2020-04-25 16:27:54 · 1309 阅读 · 1 评论 -
查看Python及程序包/第三方库的版本和路径
查看程序包(Packages / Library)的当前版本和路径(Pandas为例)Python脚本内部、Jupyterpd.__version__获取Pandas版本号,其他程序包也适用pd.__path__获取安装路径pd.show_versions()输出详细信息,包括Python版本和相关程序包以及操作系统类型import pandas as pdprint(pd.__ve...原创 2020-04-21 21:22:33 · 3786 阅读 · 0 评论 -
[Python3] Pandas v1.0 —— (四) 合并数据集
文章目录六、合并数据集:Concat与Append操作(一)NumPy数组的合并 np.concatenate()(二)通过 pd.concat 实现简易合并1. 索引重复六、合并数据集:Concat与Append操作将不同的数据源进行合并,包括:将两个不同的数据集简单拼接用数据库的连接 (join) 与合并 (merge) 操作处理有重叠字段的数据集# 定义一个能够创建DataF...原创 2020-04-21 20:29:06 · 1732 阅读 · 6 评论 -
[Python3] Pandas v1.0 —— (三) 层级索引
文章目录五、层级索引(一)多级索引Series1. 低效方法:用Python元组表示索引2. 高效方法:Pandas多级索引3. 高维数据的多维索引(二)多级索引的创建方法1. 显式地创建多级索引2. 多级索引的等级名称3. 多级列索引(三)多级索引的取值和切片1. Series多级索引2. DataFrame多级索引(四)多级索引行列转换1. 有序的索引和无序的索引2. 索引stack与unst...原创 2020-04-17 19:32:58 · 972 阅读 · 0 评论 -
日常问题解决汇总
日常操作时遇到各种Error报错,所遇问题以及搜索到的解决方案参考来源大汇总(持续更新)1.2.3.4.5.6.7.8.9.10. pip install 下载库时中途报错,切换网络重试成功。。诡异的错误:OpenSSL.SSL.Error: [(‘SSL routines’, ‘ssl3_get_record’, ‘decryption failed or bad reco...原创 2020-05-12 16:39:24 · 1605 阅读 · 0 评论 -
[Python3] Pandas v1.0 —— (二) 处理缺失值
文章目录四、处理缺失值(一)选择处理缺失值的方法(二)Pandas的缺失值1. None: Python对象类型的缺失值2. NaN: 数值类型的缺失值3. Pandas中 NaN 与 None 的差异(三)处理缺失值1. 发现缺失值2. 剔除缺失值3. 填充缺失值四、处理缺失值(一)选择处理缺失值的方法在数据表或 DataFrame 中有很多识别缺失值的方法。一般情况下可以分为两种:...原创 2020-04-15 18:23:23 · 1096 阅读 · 0 评论 -
[Python3] Pandas v1.0 —— (一) 对象、数据取值与运算
文章目录一、Pandas对象(一) Pandas的Series对象(二) Pandas的DataFrame对象(三) Pandas的Index对象二、数据取值与选择(一) Series数据选择方法(二) DataFrame数据选择方法三、Pandas数值运算方法(一) 通用函数:保留索引(二) 通用函数:索引对齐(三) 通用函数:DataFrame与Series的运算import pandas...原创 2020-04-13 20:12:11 · 1212 阅读 · 0 评论 -
[Python3] NumPy基础
import numpy as np一、创建数组# 1.从python列表创建数组# 整型数组np.array([1, 4, 2, 5, 3])# 明确数据类型np.array([1, 2, 3, 4], dtype='float32')# 嵌套列表构成的多维数组np.array([range(i, i + 3) for i in [2, 4, 6]])# 2.从头创建数组...原创 2020-04-10 18:10:43 · 879 阅读 · 0 评论 -
[Python3] 类的继承之内置函数super()
super([type[, object-or-type]])返回一个代理对象,它会将方法调用委托给 type 指定的父类或兄弟类。 这对于访问已在类中被重载的继承方法很有用。 搜索顺序与 getattr() 所使用的相同,只是 type 指定的类型本身会被跳过。type 的 __mro__ 属性列出了 getattr() 和 super() 所使用的方法解析顺序。 该属性是动态的,可以在继承...转载 2019-05-29 11:50:34 · 1532 阅读 · 0 评论 -
ARTS - 第三期
ARTS挑战Algorithm : 编程训练和学习 —— 每周至少做一个LeetCode算法题。Review : 学习英文 —— 阅读并点评至少一篇英文技术文章。Tip : 总结和归纳知识点 —— 学习至少一个技术技巧。Share : 建立影响力,能够输出价值观 —— 分享一篇有观点和思考的技术文章。文中涉及语言均为Python。Algorithm题目28. 实现strStr(...原创 2019-05-06 21:15:37 · 601 阅读 · 0 评论 -
ARTS - 第二期
ARTS挑战Algorithm : 编程训练和学习 —— 每周至少做一个LeetCode算法题。Review : 学习英文 —— 阅读并点评至少一篇英文技术文章。Tip : 总结和归纳知识点 —— 学习至少一个技术技巧。Share : 建立影响力,能够输出价值观 —— 分享一篇有观点和思考的技术文章。文中涉及语言均为Python。Algorithm题目20. 有效的括号给定一...原创 2019-04-14 22:10:17 · 613 阅读 · 0 评论 -
ARTS - 第一期
ARTS挑战Algorithm : 编程训练和学习 —— 每周至少做一个LeetCode算法题。Review : 学习英文 —— 阅读并点评至少一篇英文技术文章。Tip : 总结和归纳知识点 —— 学习至少一个技术技巧。Share : 建立影响力,能够输出价值观 —— 分享一篇有观点和思考的技术文章。文中涉及语言均为Python。Algorithm题目24. 两两交换链表中的节...原创 2019-03-30 15:16:30 · 639 阅读 · 0 评论 -
[Python3] Python中单下划线和双下划线的含义
本文介绍了Python中单下划线和双下划线(“dunder”)的各种含义和命名约定,名称修饰(name mangling)的工作原理,以及它如何影响你自己的Python类。单下划线和双下划线在Python变量和方法名称中都各有其含义。有一些含义仅仅是依照约定,被视作是对程序员的提示 - 而有一些含义是由Python解释器严格执行的。在本文中,我将讨论以下五种下划线模式和命名约定,以及它们如何影...转载 2019-06-08 15:53:56 · 4425 阅读 · 0 评论 -
[Algorithm] Quick Sort - 快速排序Python代码实现
Quicksort is a divide and conquer algorithm. Quicksort first divides a large array into two smaller sub-arrays: the low elements and the high elements. Quicksort can then recursively sort the sub-arra...原创 2019-06-10 19:39:01 · 691 阅读 · 0 评论 -
[Python3] Python关键字yield的解释 (stackoverflow)
一、提问者的问题Python关键字yield的作用是什么?用来干什么的?比如,我正在试图理解下面的代码:def node._get_child_candidates(self, distance, min_dist, max_dist): if self._leftchild and distance - max_dist < self._median: yie...转载 2019-06-16 16:37:34 · 560 阅读 · 1 评论 -
[Algorithm] Counting Sort - 计数排序Python代码实现
计数排序的特征:当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 O(n + k)。计数排序不是比较排序,排序的速度快于任何比较排序算法。由于用来计数的数组 C 的长度取决于待排序数组中数据的范围(等于待排序数组的最大值与最小值的差加上1),这使得计数排序对于数据范围很大的数组,需要大量时间和内存。例如:计数排序是用来排序 0 到 100 之间的数字的最好的算法,但是它不...原创 2019-06-11 16:48:14 · 1012 阅读 · 0 评论 -
[Algorithm] Binary Search - 二分查找
二分搜索只对有序数组有效。二分搜索先比较数组中比特素和目标值。如果目标值与中比特素相等,则返回其在数组中的位置;如果目标值小于中比特素,则搜索继续在前半部分的数组中进行。如果目标值大于中比特素,则搜索继续在数组上部分进行。由此,算法每次排除掉至少一半的待查数组。二分查找针对的是一个有序的数据集合,查找思想类似分治,每次都通过跟区间的中间元素对比,将代查找的区间缩小为之前的一半,直到找到要查找的...原创 2019-06-11 20:10:11 · 573 阅读 · 0 评论 -
[Python3 | SQL] PyMySQL操作MySQL数据库
一、连接本地数据库,创建新数据库通过PyMySQL的connect()方法声明一个MySQL连接对象db。传入MySQL运行的host (IP)。本地:localhost,远程:公网IP地址port:端口,默认3306连接成功后,调用cursor()方法获得MySQL的操作游标,利用游标的execute()方法来执行SQL语句。# 连接本地MySQLdb = pymysql.con...原创 2019-06-18 20:10:03 · 831 阅读 · 1 评论