自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白话Python

专注Python知识分享。公众号:“白话Python”

  • 博客(41)
  • 收藏
  • 关注

原创 强化学习总结01 基本概念

1. 概述强化学习是智能体(Agent)与环境(Environment)不断交互, 不断提高自己的决策能力的过程. 面向智能体的学习——通过与环境进行交互 所学习的「样本」来自于「与环境的交互」。而非像传统机器学习的样本是现有的。 通过「试错和优化」进行学习——用试错后的奖励(或惩罚) 来学习 「总体过程」:环境(Environment)会给智能体(Agent)一个观测值(Observation)(全观测时,状态 state 和 observation 等价), 智

2020-06-12 10:44:48 857

原创 详解Python中for循环的内部机制

Python中,使用for循环可以迭代容器对象中的元素,这里容器对象包括是列表(list)、元组(tuple)、字典(dict)、集合(set)等。但是,为什么这些对象可以使用for循环进行操作呢?首先,定义一个简单的类尝试一下:class TestRange: def __init__(self, num): self.num = numfor i in Test...

2020-04-21 16:02:08 747

原创 编写高质量Python程序(四)库

本系列文章为《编写高质量代码——改善Python程序的91个建议》的精华汇总。按需选择 sort() 或者 sorted()Python 中常用的排序函数有 sort() 和 sorted()两者的函数形式分别如下:sorted(iterable[, cmp[, key[, reverse]]])s.sort([cmp[, key[, reverse]]])sort() 和 s...

2020-04-21 10:33:37 309

原创 编写高质量Python程序(三)基础语法

本系列文章为《编写高质量代码——改善Python程序的91个建议》的精华汇总。关于导入模块Python的3种引入外部模块的方式:import语句、from ... import ... 和 __import__函数。其中前两种比较常见。在使用 import 时,应注意:优先使用 import A 或 import A as a有节制的使用 from A import B尽量避...

2020-04-18 22:45:23 131

原创 编写高质量Python程序(二)编程惯用法

本系列文章为《编写高质量代码——改善Python程序的91个建议》的精炼汇总。利用assert语句发现问题assert语句的基本语法如下:assert expression1 ["," expression2]其中,expression1是判断语句,会返回True或False,当返回False时会引发AssertionError。[]中的内容表示是可选的,用来传递具体的异常信息。&...

2020-04-14 12:06:39 147

原创 编写高质量Python程序(一)基本准则

本系列文章为《编写高质量代码——改善Python程序的91个建议》的精华汇总。理解Pythonic概念什么是 Pythonic? Pythonic的代码就是具有Python独特风格的代码。通俗说来,就是在保证代码可读性的前提下,尽可能地简洁、优雅,看起来像伪代码一样。具有 Python 代码风格的例子交换两个变量。其他语言交换两个变量时,一般需要一个临时的中间变量,而Pyth...

2020-04-13 11:58:46 726

原创 弱类型、强类型、动态类型、静态类型语言

弱类型:运行时允许类型转换,比如 C/C++强类型:运行时不允许类型转换,比如 Python动态类型:运行期进行类型检查,比如 Python静态类型:编译期进行类型检查,比如 C/C++...

2019-03-19 11:19:59 133

原创 Python - 可迭代对象、迭代器、生成器

可迭代对象 Iterable:可以用 for 循环遍历的对象,包括:集合数据类型,如 list、tuple、dict、set、str等;生成器 generator,包括“( i for i in range(10) )”生成器和带yield的generator function。迭代器 iterator可以被 next() 函数调用并不断返回下一个值的对象称为迭代器,包括:生成...

2019-03-14 21:52:10 135

原创 python - Dataframe 获得某行的最大值对应的的列索引(包含多个相等的最大值的情况)

import pandas as pd import numpy as np# create a dataframetable = pd.DataFrame(np.zeros([3,2]), index=["s1", "s2", "s3"], columns=["a1",&quo

2019-03-14 21:16:32 22639 1

原创 leetcode239 - 滑动窗口的最大值

用双向队列def max_(nums, k): if not nums: return [] window, res = [], [] for i, x in enumerate(nums): if i >= k and window[0] <= i - k: window.pop(0) while w...

2019-02-06 23:22:54 110

原创 矩阵论笔记(二) - 线性变换

文章目录4. 线性变换4.1 定义4.2 性质4.3 运算4.3.1 线性变换的和4.3.2 线性变换的数乘4.3.3 线性变换的逆4.3.4 线性变换的多项式4. 线性变换4.1 定义4.2 性质4.3 运算4.3.1 线性变换的和4.3.2 线性变换的数乘4.3.3 线性变换的逆4.3.4 线性变换的多项式...

2019-01-29 11:21:18 1406

原创 C++ - 选择排序

#include <iostream>using namespace std;template<typename T>void selectionSort(T arr[], int n){ for(int i = 0 ; i < n ; i ++){ int minIndex = i; for( int j = i ...

2019-01-16 23:30:51 112

原创 C++ - 生成一个随机数组

// 生成有n个元素的随机数组,每个元素的随机范围为[rangeL, rangeR] 闭区间int *generateRandomArray(int n, int rangeL, int rangeR) { assert(rangeL <= rangeR); int *arr = new int[n]; // 创建一个 n个元素的数组 srand(time(NULL)); /...

2019-01-16 22:41:17 21052

原创 Python - os模块常用操作

os.mkdir 创建目录os.rmdir 删除目录os.rename 重命名os.remove 删除文件os.getcwd 获取当前工作路径os.path.join 连接目录与文件名os.path.split 分割文件名与目录os.path.abspath 获取绝对路径os.path.dirname 获取路径os.path.basename 获取最后的文件名或文件夹名os.p...

2019-01-15 18:06:12 156

原创 Python - numpy中axis的理解

文章目录axis的本质是数组层级若函数中axis=i,则沿着第i个下标变化、其余下标都不变的方向进行操作axis的本质是数组层级arr = np.array(np.arange(12).reshape(3,4))print(arr)"""array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])...

2019-01-15 11:40:13 398

转载 Python - matplotlib在图像中添加文字

import matplotlib.pyplot as pltplt.plot([0, 2], [0, 2])plt.text(0.5, 1, 'put some text')plt.show()

2019-01-15 00:57:03 42724 1

原创 Python - 将图片转化成numpy数组

from PIL import Image import numpy as npimage = Image.open("/home/yang/图片/dog.jpg") # 用PIL中的Image.open打开图像image_arr = np.array(image) # 转化成numpy数组

2019-01-15 00:43:30 31704 7

原创 详解Python中的浅拷贝和深拷贝

numpy 中np.copy() 方法是 深拷贝;切片操作 是 浅拷贝;直接赋值给另一个变量是 浅拷贝。# numpy深拷贝示例In [12]: arr = np.zeros((3,3))In [13]: arrOut[13]: array([[ 0., 0., 0.], [ 0., 0., 0.], [ 0., 0., 0.]])In [14]...

2019-01-14 00:58:37 792

原创 Python-__slot__属性

Python中默认用一个字典来保存一个对象的实例属性,使得我们在运行时可以任意设置新属性。但是,对于已知固有属性的小型类来说,这个字典浪费了很多内存。(由于可设置新属性,Python不能在对象创建时直接分配一个固定量的内存保存所有属性)因此,如果创建成千上万个这样的小类,Python就会浪费掉很多内存。此时,引入类中的__slots__方法,让 Python 给类指定一个固定大小的空间存放属...

2019-01-12 22:35:26 433

原创 vim命令总结

文章目录1. 打开、新建文件2. 三种工作模式3. 常用命令3.1 移动3.2 撤销和恢复3.3 删除3.4 复制、粘贴3.5 选中文本(可视模式)3.6 查找3.6.1 常规查找3.6.2 单词快速匹配3.7 替换3.8 查找并替换3.8.1 全局替换3.8.2 可视区域替换3.8.3 确认替换3.9 缩进和重复执行1. 打开、新建文件vi 文件名vi 文件名 +行数:例如vi a.p...

2019-01-11 12:12:46 201

原创 C++ - 编译器工作原理

文章目录1. 预处理1.1 头文件包含1.2 宏替换1.3 条件编译2. 编译3. 汇编4. 链接编译器可以阅读以某一种语言(源语言)编写的程序,并把该程序翻译成一个等价的、用另一种语言(目标语言)编写的程序。C++编译系统将一个程序转化为可执行程序的过程包含:1. 预处理预处理器是在程序源文件被编译之前根据预处理指令对程序源文件进行处理的程序。以#号开头标识,末尾不包含分号。预处...

2019-01-10 13:19:15 678

原创 Python - pandas总结

文章目录1. pandas 的数据类型1.1 Series1.2 DataFrame2. 读取外部数据3. 数据合并4. 常用统计方法5. 缺失数据的处理1. pandas 的数据类型1.1 SeriesSeries 是“带标签的数组”。创建# 1.直接创建s = pd.Series(np.arange(10), index=list("ABCDEFGHIJ"

2019-01-07 22:50:39 273

原创 Python - 对Series做字符串操作

Pandas的DataFrame中的每一列都是一个Series,若该列全为字符串,则可对其作字符串操作:拆分 Series.str.split()>>> s.str.split(',')替换 Series.str.replace()>>> s.str.replace(',', '')...

2019-01-07 21:46:45 15097

原创 OpenCV学习记录(2) - 感兴趣区域、图像线性混合

1. 感兴趣区域感兴趣区域(Region of interest)就是从图像中选择的一个区域,这个区域是我们图像分析所关注的重点。关注感兴趣区域,提升工作效率。Opencv中,定义感兴趣区域的两种方法:使用 cv::Rect 定义使用 cv::Range 定义#include "opencv2/core/core.hpp"#include "opencv2/opencv.hpp"...

2019-01-07 15:17:38 180

原创 OpenCV学习记录(1) - 图像载入、显示、输出

1.图像载入1.1 imread() Mat imread( const String& filename, int flags = IMREAD_COLOR );

2019-01-07 13:43:29 261 1

原创 Python, C++ - 位运算与逻辑运算

1. 位运算1.1 按位与Python中按位与为&In [2]: 12 & 10 # 12的二进制为 0b1100,10的二进制表示为 0b1010Out[2]: 8In [3]: 0b1100 & 0b1010Out[3]: 81.2 按位或|2. 逻辑运算2.1 逻辑与2.2 逻辑或...

2019-01-07 12:10:50 497

原创 Python - 一道用按位异或解决的算法题

已知一个数字数组。其中只有一个数字只出现1次,其他数字都出现2次。求只出现1次的数字。例如,[1,1,3,2,4,3,4],只出现1次的数字是2。def get_one(nums): return reduce(lambda x,y: x^y, nums)...

2019-01-06 23:32:09 828

原创 矩阵论笔记(一)补 - 维数公式

维数公式dim(V+U)=dimV+dimU−dim(V∩U)dim(V+U) = dimV + dimU-dim(V\cap U)dim(V+U)=dimV+dimU−dim(V∩U)即,和空间的维数等于两空间维数之和减去两空间的交空间的维数。例子:在三维空间中,记VVV为 xOyxOyxOy平面, UUU 为 yOzyOzyOz平面 ,即 dimV=dimU=2dimV = dimU...

2019-01-06 15:37:42 5180

原创 Python - Matplotlib 笔记整理

matplotlib 是最流行的Python绘图库之一,能将数据进行可视化,直观地呈现数据。1. 设置图片大小、分辨率等参数# 常用的导入方式import matplotlib.pyplot as plt# 设置图片大小, dpi是图片分辨率默认是100fig = plt.figure(figsize=(20, 8), dpi=80)2. 常用统计图1.折线图以折线表示统计量的...

2019-01-06 13:50:37 311

原创 Python - 最常用的列表去重方法

list1 = ['a', 'a', 'b', 'c']# 用set集合对列表去重,是最常用的去重方法list1_unique = list(set(list1))print(list1_unique)# 打印 ['a', 'b', 'c']

2019-01-05 12:03:30 189

原创 矩阵论笔记(一) - 线性空间、线性子空间、矩阵的值域和核空间

1.线性空间2.线性变换与矩阵3.线性子空间

2019-01-04 14:52:08 29978

转载 数学概念理解 - 梯度与方向导数

一.梯度定义:设函数在平面区域内具有一阶连续偏导数,则对于每一点,都可定出一个向量这向量称为函数=在点的梯度,记作,即= 性质:梯度的方向是函数值增大最快的方向。相应的,负梯度的方向是函数值减小最快的方向。=> 梯度下降法求函数极小值。二.方向导数定义:设函数在点的某一邻域内有...

2018-10-30 19:55:48 1797

原创 C/C++ 算术类型和标量类型

1.算术类型(Arithmetic Type):可以做算术运算的类型。包括整型、浮点型。算术类型可以表示为0和非0,作为控制表达式。2.标量类型(Scalar Type):可以参与逻辑运算(与或非),或者做控制表达式的类型。包括算术类型和指针类型。...

2018-10-29 22:04:10 2084

原创 Python - 将字典内容印成一个格式化报告

def report(wages): students = list(wages.keys()) students.sort() for student in students: print("%-20s %12.2f" % (student, wages[student]))if __name__ == '__main__': wages ...

2018-09-17 22:56:31 1335

原创 廖雪峰Python - map/reduce练习

练习利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。输入:[‘adam’, ‘LISA’, ‘barT’],输出:[‘Adam’, ‘Lisa’, ‘Bart’]:def normalize(name): return name.title()# 测试:L1 = ['adam', 'LISA', 'barT']L2 = list(ma...

2018-08-31 21:21:31 165

原创 廖雪峰Python - str转成int

from functools import reducedef str2num(s): def char2num(c):#单个字符转成int类型 digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} ...

2018-08-31 20:32:29 337

原创 廖雪峰Python - 杨辉三角练习题

练习杨辉三角定义如下:             1           / \         1   1        / \   / \       1   2   1      / \   / \  / \     1   3   3   1    / \  / \   / \   / \   1   4   6   4   1  / \  / \   / \  /...

2018-08-30 21:25:04 844

原创 解决 win10家庭中文版 远程连接:出现身份验证错误 要求的函数不受支持

Windows 5.10日更新后,远程连接出现失败。提示: 出现身份验证错误。要求的函数不受支持 这可能是由于 CredSSP 加密 Oracle 修正。解决办法: 对于win10家庭版,需修改注册表信息。win+r,输入regedit,点击确定,打开注册表编辑器; 找到路径:HKEY_LOCAL_MACHINE\SOFTW...

2018-05-13 22:39:13 22534 29

原创 csv文件导入MySQL的现有表中

SQL语句如下:LOAD DATA LOCAL INFILE 'D:\\文档\\175.csv' (文件路径)INTO TABLE yang(表名)CHARACTER SET utf8 FIELDS TERMINATED BY ',' ENCLOSED BY '"'LINES TERMINATED BY '\n'IGNORE 1 ROWS; ignore 1 rows:表示忽略第一行,...

2018-05-03 16:17:58 538

原创 解决安装 scrapy 时 CondaHTTPError: HTTP 000 CONNECTION FAILED 的问题

使用Anaconda Promote 安装 scrapy 库:conda install scrapy出现以下问题:CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.continuum.io/pkgs/pro/win-64/repodata.json.bz2>Elapsed: -解决方法:打开 控制面板 ...

2018-04-10 23:30:16 3740 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除