09 2018 档案
摘要:“大O记法”:对于单调的整数函数f(n),如果存在一个整数函数g(n)和常数c>0,使得对于充分大的n总有f(n)<=c*g(n),就说函数g(n)是f(n)的一个渐近函数(忽略常量因子),记为f(n)=O(g(n))。易见,f(n)=O(g(n))说明在n趋于无穷大的时候,函数f的增长速度受到函数
阅读全文
摘要:算法设计就从实际问题出发,通过分析和思考最终得到的一个能解决问题的过程性描述的工作过程。 算法设计中一些常见的通用的想法可以称为算法设计模式。常用的算法设计模式有: 穷举法。根据具体的问题枚举出各种可能,从中选出有用的信息或者问题的解。利用计算机的速度优势可以方便的解决很多简单问题。 贪心法。根据问
阅读全文
摘要:采用自然语言描述。用自然语言描述的计算过程可能比较容易阅读,但可能比较冗长啰嗦,也容易出现歧义,造成读者的无解。 采用自然语言中结合一些数学公式的描述形式。主要是为了简洁、严格(消除歧义),减少误解的可能性。 采用严格定义的形式化记法形式的描述。例如: 采用某种通用的计算模型的描述方式。这种描述完全
阅读全文
摘要:算法的性质 算法的描述 算法的设计与分析
阅读全文
摘要:一个算法是对一种计算过程的一个严格描述,人们i通常认为的算法具有以下性质: 有穷性(算法描述的有穷性):一个算法的的描述由有限多条指令或语句构成。也就是说,算法必须能用有限长的描述说清楚。 能行性:算法中的指令(语句)的含义严格简单明确,所描述的操作(计算)过程可以机械的进行。 确定性:作用于所求解
阅读全文
摘要:第一章:引言 第二章:表单和模板 第三章:模板扩展 第四章:数据库 第五章:异步Web服务 第六章:编写安全应用 第七章:外部服务认证 第八章:部署Tornado
阅读全文
摘要:Pandas数据结构 Pandas系列 Pandas数据帧(DataFrame) Pandas面板(Panel) Pandas基本功能 Pandas描述性统计 Pandas函数应用 Pandas重建索引 Pandas迭代 Pandas字符串和文本数据 Pandas选项和自定义 Pandas索引和选择
阅读全文
摘要:NumPy Ndarray对象 NumPy数组属性 NumPy数据类型 NumPy数组创建例程 NumPy来自现有数据的数组 NumPy来自数值范围的数组 NumPy切片和索引 NumPy - 高级索引 NumPy广播 NumPy在数组上的迭代 NumPy - 数组操作 NumPy位操作 NumPy
阅读全文
摘要:ECMAScript 6 简介 let 和 const 命令 数组的解构赋值 字符串的扩展 正则的扩展 数值的扩展 函数的扩展 数组的扩展 对象的扩展 Symbol Set 和 Map 数据结构 Proxy Reflect Promise 对象 Iterator 和 for...of 循环 Gene
阅读全文
摘要:为什么要用 Docker 什么是 Docker Docker 镜像 Docker容器的运用 Docker仓库 Docker如何获取镜像 CentOS 安装Docker Docker 列出镜像 Docker 创建镜像 Docker 移除镜像 存出和载入Docker镜像 Docker镜像的实现原理 介绍
阅读全文
摘要:什么是web框架? Do a web framework ourselves MVC和MTV模式 django的流程和命令行工具 Django的配置文件(settings) Django URL (路由系统) Django Views(视图函数) Template基础 Models admin的配置
阅读全文
摘要:Windows下使用MinGW在命令行编译运行C++程序
阅读全文
摘要:html5 如何打包成apk,将H5封装成android应用APK文件的几种方法
阅读全文
摘要:ArrayBuffer对象、TypedArray视图和DataView视图是 JavaScript 操作二进制数据的一个接口。这些对象早就存在,属于独立的规格(2011 年 2 月发布),ES6 将它们纳入了 ECMAScript 规格,并且增加了新的方法。它们都是以数组的语法处理二进制数据,所以统
阅读全文
摘要:概述 规格文件是计算机语言的官方标准,详细描述语法规则和实现方法。 一般来说,没有必要阅读规格,除非你要写编译器。因为规格写得非常抽象和精炼,又缺乏实例,不容易理解,而且对于解决实际的应用问题,帮助不大。但是,如果你遇到疑难的语法问题,实在找不到答案,这时可以去查看规格文件,了解语言标准是怎么说的。
阅读全文
摘要:块级作用域 (1)let 取代 var ES6 提出了两个新的声明变量的命令:let和const。其中,let完全可以取代var,因为两者语义相同,而且let没有副作用。 上面代码如果用var替代let,实际上就声明了两个全局变量,这显然不是本意。变量应该只在其声明的代码块内有效,var命令做不到这
阅读全文
摘要:浏览器加载 传统方法 HTML 网页中,浏览器通过<script>标签加载 JavaScript 脚本。 上面代码中,由于浏览器脚本的默认语言是 JavaScript,因此type="application/javascript"可以省略。 默认情况下,浏览器是同步加载 JavaScript 脚本,
阅读全文
摘要:概述 历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至就连 CSS 都有@import,但是 JavaScript 任何这方面的支
阅读全文
摘要:类的修饰 许多面向对象的语言都有修饰器(Decorator)函数,用来修改类的行为。目前,有一个提案将这项功能,引入了 ECMAScript。 上面代码中,@testable就是一个修饰器。它修改了MyTestableClass这个类的行为,为它加上了静态属性isTestable。testable函
阅读全文
摘要:简介 Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多。 上面代码定义了一个ColorPoint类,该类通过extends关键字,继承了Point类的所有属性和方法。但是由于没有部署任何代码,所以这两个类完全一样,等于复制了一个Point类。
阅读全文
摘要:简介 JavaScript 语言中,生成实例对象的传统方法是通过构造函数。下面是一个例子。 上面这种写法跟传统的面向对象语言(比如 C++ 和 Java)差异很大,很容易让新学习这门语言的程序员感到困惑。 ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过cl
阅读全文
摘要:含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便。 async 函数是什么?一句话,它就是 Generator 函数的语法糖。 前文有一个 Generator 函数,依次读取两个文件。 写成async函数,就是下面这样。 一比较就会发现,async函数就是将 Generat
阅读全文
摘要:异步编程对 JavaScript 语言太重要。Javascript 语言的执行环境是“单线程”的,如果没有异步编程,根本没法用,非卡死不可。本章主要介绍 Generator 函数如何完成异步操作。 传统方法 ES6 诞生以前,异步编程的方法,大概有下面四种。 回调函数 事件监听 发布/订阅 Prom
阅读全文
摘要:简介 § ⇧ 基本概念 Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。本章详细介绍 Generator 函数的语法和 API,它的异步编程应用请看《Generator 函数的异步应用》一章。 Generator 函数有多种理解角度。语法上,首先可以把它理
阅读全文
摘要:Iterator(遍历器)的概念 § ⇧ JavaScript 原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6 又添加了Map和Set。这样就有了四种数据集合,用户还可以组合使用它们,定义自己的数据结构,比如数组的成员是Map,Map的成员是对象。这样就需要一种
阅读全文
摘要:Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个
阅读全文
摘要:概述 Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。Reflect对象的设计目的有这样几个。 (1) 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在Object
阅读全文
摘要:概述 Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。 Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和
阅读全文
摘要:Set 基本用法 ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 Set 本身是一个构造函数,用来生成 Set 数据结构。 上面代码通过add方法向 Set 结构加入成员,结果表明 Set 结构不会添加重复的值。 Set 函数可以接受一个数组(或者具有 it
阅读全文
摘要:概述 ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。这就是 ES6 引入Sym
阅读全文
摘要:属性的简洁表示法 ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 上面代码表明,ES6 允许在对象之中,直接写变量。这时,属性名为变量名, 属性值为变量的值。下面是另一个例子。 除了属性简写,方法也可以简写。 下面是一个实际的例子。 这种写法用于函数的返回值,将会非常方便
阅读全文
摘要:扩展运算符 含义 扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。 该运算符主要用于函数调用。 上面代码中,array.push(...items)和add(...numbers)这两行,都是函数的调用,它们的都使用了扩展运算符。该运
阅读全文
摘要:Python连接memcached的库有很多,处于简单以及高效的原则,最终选择了pymemcache, 优点 完全实现了memcached text协议 对于send/recv操作可以配置timeout 支持"noreply"特性,该可行可以先出的提高写的速度 使序列化/反序列化更简单 可以将网络异
阅读全文
摘要:安装Python的memcached驱动模块 简单的操作示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #!/usr/bin/env python3 #coding:utf8 import memcache #链接 mc = memcache.Client(['139
阅读全文
摘要:Memcached flush_all 命令用于用于清理缓存中的所有 key=>value(键=>值) 对。 该命令提供了一个可选参数 time,用于在制定的时间后执行清理缓存操作。 语法: flush_all 命令的基本语法格式如下: 实例 清理缓存:
阅读全文
摘要:Memcached stats sizes 命令用于显示所有item的大小和个数。 该信息返回两列,第一列是 item 的大小,第二列是 item 的个数。 语法: stats sizes 命令的基本语法格式如下: 实例
阅读全文
摘要:Memcached stats slabs 命令用于显示各个slab的信息,包括chunk的大小、数目、使用情况等。 语法: stats slabs 命令的基本语法格式如下: 实例
阅读全文
摘要:Memcached stats items 命令用于显示各个 slab 中 item 的数目和存储时长(最后一次访问距离现在的秒数)。 语法: stats items 命令的基本语法格式如下: stats items 实例 stats items STAT items:1:number 1 STAT
阅读全文
摘要:Memcached stats 命令用于返回统计信息例如 PID(进程号)、版本号、连接数等。 语法: stats 命令的基本语法格式如下: 实例 在以下实例中,我们使用了 stats 命令来输出 Memcached 服务信息。 这里显示了很多状态信息,下边详细解释每个状态项: pid: memca
阅读全文
摘要:Memcached delete 命令用于删除已存在的 key(键)。 语法: delete 命令的基本语法格式如下: 多个 key 使用空格隔开,如下: 参数说明如下: key:键值 key-value 结构中的 key,用于查找缓存值。 noreply(可选): 该参数告知服务器不需要返回数据
阅读全文
摘要:Memcached incr 与 decr 命令用于对已存在的 key(键) 的数字值进行自增或自减操作。 incr 与 decr 命令操作的数据必须是十进制的32位无符号整数。 如果 key 不存在返回 NOT_FOUND,如果键的值不为数字,则返回 CLIENT_ERROR,其他错误返回 ERR
阅读全文
摘要:Memcached gets 命令获取带有 CAS 令牌存 的 value(数据值) ,如果 key 不存在,则返回空。 语法: gets 命令的基本语法格式如下: 多个 key 使用空格隔开,如下: 参数说明如下: key:键值 key-value 结构中的 key,用于查找缓存值。 实例 在以下
阅读全文
摘要:Memcached get 命令获取存储在 key(键) 中的 value(数据值) ,如果 key 不存在,则返回空。 语法: get 命令的基本语法格式如下: 多个 key 使用空格隔开,如下: 参数说明如下: key:键值 key-value 结构中的 key,用于查找缓存值。 实例 在以下实
阅读全文
摘要:Memcached CAS(Check-And-Set 或 Compare-And-Swap) 命令用于执行一个"检查并设置"的操作 它仅在当前客户端最后一次取值后,该key 对应的值没有被其他客户端修改的情况下, 才能够将值写入。 检查是通过cas_token参数进行的, 这个参数是Memcach
阅读全文
摘要:Memcached prepend 命令用于向已存在 key(键) 的 value(数据值) 前面追加数据 。 语法: prepend 命令的基本语法格式如下: 参数说明如下: key:键值 key-value 结构中的 key,用于查找缓存值。 flags:可以包括键值对的整型参数,客户机使用它存
阅读全文
摘要:Memcached append 命令用于向已存在 key(键) 的 value(数据值) 后面追加数据 。 语法: append 命令的基本语法格式如下: 参数说明如下: key:键值 key-value 结构中的 key,用于查找缓存值。 flags:可以包括键值对的整型参数,客户机使用它存储关
阅读全文
摘要:Memcached add 命令用于将 value(数据值) 存储在指定的 key(键) 中。 如果 add 的 key 已经存在,则不会更新数据,之前的值将仍然保持相同,并且您将获得响应 NOT_STORED。 语法: add 命令的基本语法格式如下: 参数说明如下: key:键值 key-val
阅读全文
摘要:Memcached replace 命令用于替换已存在的 key(键) 的 value(数据值)。 如果 key 不存在,则替换失败,并且您将获得响应 NOT_STORED。 语法: replace 命令的基本语法格式如下: 参数说明如下: key:键值 key-value 结构中的 key,用于查
阅读全文
摘要:Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中。 如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。 语法: set 命令的基本语法格式如下: 参数说明如下: key:键值 key-value 结构中的 key,
阅读全文
摘要:Memcached 支持许多平台:Linux、FreeBSD、Solaris、Mac OS,也可以安装在Windows上。 Linux系统安装memcached,首先要先安装libevent库。 安装 Memcached 自动安装 Ubuntu/Debian Redhat/Fedora/Centos
阅读全文
摘要:我们可以通过 telnet 命令并指定主机ip和端口来连接 Memcached 服务。 语法 命令中的 HOST 和 PORT 为运行 Memcached 服务的 IP 和 端口。 实例 以下实例演示了如何连接到 Memcached 服务并执行简单的 set 和 get 命令。 本实例的 Memca
阅读全文
摘要:1.安装PyMongo 注意:请勿安装“bson”软件包。 PyMongo配有自己的bson包; 执行“pip install bson”或“easy_install bson”则会安装与PyMongo不兼容的第三方软件包。 使用pip安装 我们建议在所有平台上使用pip来安装pymongo: Sh
阅读全文
摘要:一、MongoDB介绍 MongoDB 是一个是一个基于分布式文件存储的数据库,介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其
阅读全文
摘要:Redis安装及教程: redis教程 安装Python的redis接口模块 redis-py requires a running Redis server. See redis教程 for installation instructions. To install redis-py, simpl
阅读全文
摘要:About psutil (python system and process utilities) is a cross-platform library for retrieving information on running processes and system utilization(
阅读全文
摘要:警告和疑难意味着一个看不见的问题。在使用Pandas过程中,需要特别注意的地方。 与Pandas一起使用If/Truth语句 当尝试将某些东西转换成布尔值时,Pandas遵循了一个错误的惯例。 这种情况发生在使用布尔运算的。 目前还不清楚结果是什么。 如果它是真的,因为它不是zerolength?
阅读全文
摘要:由于许多潜在的Pandas用户对SQL有一定的了解,因此本文章旨在提供一些如何使用Pandas执行各种SQL操作的示例。 Python Python 文件:tips.csv - Csv Csv 执行上面示例代码,得到以下结果 - Shell Shell 选择(Select) 在SQL中,选择是使用逗
阅读全文
摘要:Pandas I/O API是一套像pd.read_csv()一样返回Pandas对象的顶级读取器函数。 读取文本文件(或平面文件)的两个主要功能是read_csv()和read_table()。它们都使用相同的解析代码来智能地将表格数据转换为DataFrame对象 - Python Python
阅读全文
摘要:当任何匹配特定值的数据(NaN/缺失值,尽管可以选择任何值)被省略时,稀疏对象被“压缩”。 一个特殊的SparseIndex对象跟踪数据被“稀疏”的地方。 这将在一个例子中更有意义。 所有的标准Pandas数据结构都应用了to_sparse方法 - Python Python 执行上面示例代码,得到
阅读全文
摘要:基本绘图:绘图 Series和DataFrame上的这个功能只是使用matplotlib库的plot()方法的简单包装实现。参考以下示例代码 - Python Python 执行上面示例代码,得到以下结果 - 如果索引由日期组成,则调用gct().autofmt_xdate()来格式化x轴,如上图所
阅读全文
摘要:通常实时的数据包括重复的文本列。例如:性别,国家和代码等特征总是重复的。这些是分类数据的例子。 分类变量只能采用有限的数量,而且通常是固定的数量。除了固定长度,分类数据可能有顺序,但不能执行数字操作。 分类是Pandas数据类型。 分类数据类型在以下情况下非常有用 - 一个字符串变量,只包含几个不同
阅读全文
摘要:时间差(Timedelta)是时间上的差异,以不同的单位来表示。例如:日,小时,分钟,秒。它们可以是正值,也可以是负值。可以使用各种参数创建Timedelta对象,如下所示 - 字符串 通过传递字符串,可以创建一个timedelta对象。参考以下示例代码 - Python Python 执行上面救命
阅读全文
摘要:日期功能扩展了时间序列,在财务数据分析中起主要作用。在处理日期数据的同时,我们经常会遇到以下情况 - 生成日期序列 将日期序列转换为不同的频率 创建一个日期范围 通过指定周期和频率,使用date.range()函数就可以创建日期序列。 默认情况下,范围的频率是天。参考以下示例代码 - Python
阅读全文
摘要:Pandas提供了各种工具(功能),可以轻松地将Series,DataFrame和Panel对象组合在一起。 Python Python 其中, objs - 这是Series,DataFrame或Panel对象的序列或映射。 axis - {0,1,...},默认为0,这是连接的轴。 join -
阅读全文
摘要:Pandas具有功能全面的高性能内存中连接操作,与SQL等关系数据库非常相似。Pandas提供了一个单独的merge()函数,作为DataFrame对象之间所有标准数据库连接操作的入口 - Python Python 在这里,有以下几个参数可以使用 - left - 一个DataFrame对象。 r
阅读全文
摘要:任何分组(groupby)操作都涉及原始对象的以下操作之一。它们是 - 分割对象 应用一个函数 结合的结果 在许多情况下,我们将数据分成多个集合,并在每个子集上应用一些函数。在应用函数中,可以执行以下操作 - 聚合 - 计算汇总统计 转换 - 执行一些特定于组的操作 过滤 - 在某些情况下丢弃数据
阅读全文
摘要:当有了滚动,扩展和ewm对象创建了以后,就有几种方法可以对数据执行聚合。 DataFrame应用聚合 让我们创建一个DataFrame并在其上应用聚合。 Python Python 执行上面示例代码,得到以下结果 - Shell Shell 可以通过向整个DataFrame传递一个函数来进行聚合,或
阅读全文
摘要:数据丢失(缺失)在现实生活中总是一个问题。 机器学习和数据挖掘等领域由于数据缺失导致的数据质量差,在模型预测的准确性上面临着严重的问题。 在这些领域,缺失值处理是使模型更加准确和有效的重点。 何时以及为什么数据丢失? 想象一下有一个产品的在线调查。很多时候,人们不会分享与他们有关的所有信息。 很少有
阅读全文
摘要:为了处理数字数据,Pandas提供了几个变体,如滚动,展开和指数移动窗口统计的权重。 其中包括总和,均值,中位数,方差,协方差,相关性等。 下来学习如何在DataFrame对象上应用上提及的每种方法。 .rolling()函数 这个函数可以应用于一系列数据。指定window=n参数并在其上应用适当的
阅读全文
摘要:统计方法有助于理解和分析数据的行为。现在我们将学习一些统计函数,可以将这些函数应用到Pandas的对象上。 pct_change()函数 系列,DatFrames和Panel都有pct_change()函数。此函数将每个元素与其前一个元素进行比较,并计算变化百分比。 Python Python 执行
阅读全文
摘要:在本章中,我们将讨论如何切割和丢弃日期,并获取Pandas中大对象的子集。 Python和NumPy索引运算符"[]"和属性运算符"."。 可以在广泛的用例中快速轻松地访问Pandas数据结构。然而,由于要访问的数据类型不是预先知道的,所以直接使用标准运算符具有一些优化限制。对于生产环境的代码,我们
阅读全文
摘要:Pandas提供API来自定义其行为的某些方面,大多使用来显示。 API由五个相关函数组成。它们分别是 - get_option() set_option() reset_option() describe_option() option_context() 现在来了解函数是如何工作的。 get_o
阅读全文
摘要:在本章中,我们将使用基本系列/索引来讨论字符串操作。在随后的章节中,将学习如何将这些字符串函数应用于数据帧(DataFrame)。 Pandas提供了一组字符串函数,可以方便地对字符串数据进行操作。 最重要的是,这些函数忽略(或排除)丢失/NaN值。 几乎这些方法都使用Python字符串函数(请参阅
阅读全文
摘要:Pandas有两种排序方式,它们分别是 - 按标签 按实际值 下面来看看一个输出的例子。 Python Python 执行上面示例代码,得到以下结果 - Shell Shell 在unsorted_df数据值中,标签和值未排序。下面来看看如何按标签来排序。 按标签排序 使用sort_index()方
阅读全文
摘要:Pandas对象之间的基本迭代的行为取决于类型。当迭代一个系列时,它被视为数组式,基本迭代产生这些值。其他数据结构,如:DataFrame和Panel,遵循类似惯例迭代对象的键。 简而言之,基本迭代(对于i在对象中)产生 - Series - 值 DataFrame - 列标签 Pannel - 项
阅读全文
摘要:重新索引会更改DataFrame的行标签和列标签。重新索引意味着符合数据以匹配特定轴上的一组给定的标签。 可以通过索引来实现多个操作 - 重新排序现有数据以匹配一组新的标签。 在没有标签数据的标签位置插入缺失值(NA)标记。 示例 Python Python 执行上面示例代码,得到以下结果 - Sh
阅读全文
摘要:要将自己或其他库的函数应用于Pandas对象,应该了解三种重要的方法。以下讨论了这些方法。 使用适当的方法取决于函数是否期望在整个DataFrame,行或列或元素上进行操作。 表明智函数应用:pipe() 行或列函数应用:apply() 元素函数应用:applymap() 表格函数应用 可以通过将函
阅读全文
摘要:有很多方法用来集体计算DataFrame的描述性统计信息和其他相关操作。 其中大多数是sum(),mean()等聚合函数,但其中一些,如sumsum(),产生一个相同大小的对象。 一般来说,这些方法采用轴参数,就像ndarray.{sum,std,...},但轴可以通过名称或整数来指定: 数据帧(D
阅读全文
摘要:到目前为止,我们了解了三种Pandas数据结构以及如何创建它们。接下来将主要关注数据帧(DataFrame)对象,因为它在实时数据处理中非常重要,并且还讨论其他数据结构。 系列基本功能 现在创建一个系列并演示如何使用上面所有列出的属性操作。 示例 Python Python 执行上面示例代码,得到以
阅读全文
摘要:面板(Panel)是3D容器的数据。面板数据一词来源于计量经济学,部分源于名称:Pandas - pan(el)-da(ta)-s。 3轴(axis)这个名称旨在给出描述涉及面板数据的操作的一些语义。它们是 - items - axis 0,每个项目对应于内部包含的数据帧(DataFrame)。 m
阅读全文
摘要:数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列。 数据帧(DataFrame)的功能特点: 潜在的列是不同的类型 大小可变 标记轴(行和列) 可以对行和列执行算术运算 结构体 假设要创建一个包含学生数据的数据帧。参考以下图示 - 可以将上图表视为SQL表或电子表格数据表示。
阅读全文
摘要:系列(Series)是能够保存任何类型的数据(整数,字符串,浮点数,Python对象等)的一维标记数组。轴标签统称为索引。 pandas.Series Pandas系列可以使用以下构造函数创建 - Python Python 构造函数的参数如下 - 可以使用各种输入创建一个系列,如 - 数组 字典
阅读全文
摘要:这是一个Pandas快速入门教程,主要面向新用户。这里主要是为那些喜欢“短平快”的读者准备的,有兴趣的读者可通过其它教程文章来一步一步地更复杂的应用知识。 首先,假设您安装好了Anaconda,现在启动Anaconda开始学始本教程中的示例。工作界面如下所示 - 测试工作环境是否有安装好了Panda
阅读全文
摘要:Pandas处理以下三个数据结构 - 系列(Series) 数据帧(DataFrame) 面板(Panel) 这些数据结构构建在Numpy数组之上,这意味着它们很快。 维数和描述 考虑这些数据结构的最好方法是,较高维数据结构是其较低维数据结构的容器。 例如,DataFrame是Series的容器,P
阅读全文
摘要:matplotlib Matplotlib 是Python 2D绘图领域的基础套件,它让使用者将数据图形化,并提供多样化的输出格式。这里将会以四个小案例探索Matplotlib的常见用法 绘制折线图 折线图 import matplotlib.pyplot as plt import random
阅读全文
摘要:pandas Pandas是基于Numpy开发出的,专门用于数据分析的开源Python库 Pandas的两大核心数据结构 Series(一维数据) Series 创建Series的方法 允许索引重复 DataFrame(多特征数据,既有行索引,又有列索引) DataFrame 索引方法 # 创建一个
阅读全文
摘要:Numpy Numpy NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库! Numpy简单创建数组 Numpy查看数组属性 数组元
阅读全文
摘要:NumPy - IO ndarray对象可以保存到磁盘文件并从磁盘文件加载。 可用的 IO 功能有: load()和save()函数处理 numPy 二进制文件(带npy扩展名) loadtxt()和savetxt()函数处理正常的文本文件 load()和save()函数处理 numPy 二进制文件
阅读全文
摘要:NumPy - Matplotlib Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。 Matplotlib 模块最初是由 John D. Hunter
阅读全文
摘要:NumPy - 使用 Matplotlib 绘制直方图 NumPy 有一个numpy.histogram()函数,它是数据的频率分布的图形表示。 水平尺寸相等的矩形对应于类间隔,称为bin,变量height对应于频率。 numpy.histogram() numpy.histogram()函数将输入
阅读全文
摘要:NumPy - 线性代数 NumPy 包包含numpy.linalg模块,提供线性代数所需的所有功能。 此模块中的一些重要功能如下表所述。 numpy.dot() 此函数返回两个数组的点积。 对于二维向量,其等效于矩阵乘法。 对于一维数组,它是向量的内积。 对于 N 维数组,它是a的最后一个轴上的和
阅读全文
摘要:NumPy - 矩阵库 NumPy 包包含一个 Matrix库numpy.matlib。此模块的函数返回矩阵而不是返回ndarray对象。 matlib.empty() matlib.empty()函数返回一个新的矩阵,而不初始化元素。 该函数接受以下参数。 Python Python 其中: 示例
阅读全文
摘要:NumPy - 副本和视图 在执行函数时,其中一些返回输入数组的副本,而另一些返回视图。 当内容物理存储在另一个位置时,称为副本。 另一方面,如果提供了相同内存内容的不同视图,我们将其称为视图。 无复制 简单的赋值不会创建数组对象的副本。 相反,它使用原始数组的相同id()来访问它。 id()返回
阅读全文
摘要:NumPy - 排序、搜索和计数函数 NumPy中提供了各种排序相关功能。 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性。 下表显示了三种排序算法的比较。 numpy.sort() sort()函数返回输入数组的排序副本。 它有以下参数:
阅读全文
摘要:NumPy - 字节交换 我们已经知道,存储在计算机内存中的数据取决于 CPU 使用的架构。 它可以是小端(最小有效位存储在最小地址中)或大端(最小有效字节存储在最大地址中)。 numpy.ndarray.byteswap() numpy.ndarray.byteswap()函数在两个表示:大端和小
阅读全文
摘要:NumPy - 统计函数 NumPy 有很多有用的统计函数,用于从数组中给定的元素中查找最小,最大,百分标准差和方差等。 函数说明如下: numpy.amin() 和 numpy.amax() 这些函数从给定数组中的元素沿指定轴返回最小值和最大值。 示例 Python Python 输出如下: Py
阅读全文
摘要:NumPy - 算数运算 用于执行算术运算(如add(),subtract(),multiply()和divide())的输入数组必须具有相同的形状或符合数组广播规则。 示例 Python Python 输出如下: 让我们现在来讨论 NumPy 中提供的一些其他重要的算术函数。 numpy.reci
阅读全文
摘要:NumPy - 算数函数 很容易理解的是,NumPy 包含大量的各种数学运算功能。 NumPy 提供标准的三角函数,算术运算的函数,复数处理函数等。 三角函数 NumPy 拥有标准的三角函数,它为弧度制单位的给定角度返回三角函数比值。 示例 Python Python 输出如下: arcsin,ar
阅读全文
摘要:以下函数用于对dtype为numpy.string_或numpy.unicode_的数组执行向量化字符串操作。 它们基于 Python 内置库中的标准字符串函数。 这些函数在字符数组类(numpy.char)中定义。 较旧的 Numarray 包包含chararray类。 numpy.char类中的
阅读全文
摘要:NumPy - 位操作 下面是 NumPy 包中可用的位操作函数。 bitwise_and 通过np.bitwise_and()函数对输入数组中的整数的二进制表示的相应位执行位与运算。 例子 输出如下: 你可以使用下表验证此输出。 考虑下面的位与真值表。 bitwise_or 通过np.bitwis
阅读全文
摘要:NumPy - 数组操作 NumPy包中有几个例程用于处理ndarray对象中的元素。 它们可以分为以下类型: 修改形状 numpy.reshape 这个函数在不改变数据的条件下修改形状,它接受如下参数: 其中: arr:要修改形状的数组 newshape:整数或者整数数组,新的形状应当兼容原有形状
阅读全文
摘要:NumPy - 数组上的迭代 NumPy 包包含一个迭代器对象numpy.nditer。 它是一个有效的多维迭代器对象,可以用于在数组上进行迭代。 数组的每个元素可使用 Python 的标准Iterator接口来访问。 让我们使用arange()函数创建一个 3X4 数组,并使用nditer对它进行
阅读全文
摘要:NumPy - 广播 术语广播是指 NumPy 在算术运算期间处理不同形状的数组的能力。 对数组的算术运算通常在相应的元素上进行。 如果两个阵列具有完全相同的形状,则这些操作被无缝执行。 示例 1 输出如下: 如果两个数组的维数不相同,则元素到元素的操作是不可能的。 然而,在 NumPy 中仍然可以
阅读全文
摘要:NumPy - 高级索引 如果一个ndarray是非元组序列,数据类型为整数或布尔值的ndarray,或者至少一个元素为序列对象的元组,我们就能够用它来索引ndarray。高级索引始终返回数据的副本。 与此相反,切片只提供了一个视图。 有两种类型的高级索引:整数和布尔值。 整数索引 这种机制有助于基
阅读全文
摘要:NumPy - 切片和索引 ndarray对象的内容可以通过索引或切片来访问和修改,就像 Python 的内置容器对象一样。 如前所述,ndarray对象中的元素遵循基于零的索引。 有三种可用的索引方法类型: 字段访问,基本切片和高级索引。 基本切片是 Python 中基本切片概念到 n 维的扩展。
阅读全文
摘要:NumPy - 来自数值范围的数组 这一章中,我们会学到如何从数值范围创建数组。 numpy.arange 这个函数返回ndarray对象,包含给定范围内的等间隔值。 构造器接受下列参数: 下面的例子展示了如何使用该函数: 示例 1 输出如下: 示例 2 输出如下: 示例 3 输出如下: numpy
阅读全文
摘要:NumPy - 来自现有数据的数组 这一章中,我们会讨论如何从现有数据创建数组。 numpy.asarray 此函数类似于numpy.array,除了它有较少的参数。 这个例程对于将 Python 序列转换为ndarray非常有用。 构造器接受下列参数: 下面的例子展示了如何使用asarray函数:
阅读全文
摘要:NumPy - 数组创建例程 新的ndarray对象可以通过任何下列数组创建例程或使用低级ndarray构造函数构造。 numpy.empty 它创建指定形状和dtype的未初始化数组。 它使用以下构造函数: 构造器接受下列参数: 示例 下面的代码展示空数组的例子: 输出如下: 注意:数组元素为随机
阅读全文
摘要:NumPy - 数组属性 这一章中,我们会讨论 NumPy 的多种数组属性。 ndarray.shape 这一数组属性返回一个包含数组维度的元组,它也可以用于调整数组大小。 示例 1 输出如下: 示例 2 输出如下: 示例 3 NumPy 也提供了reshape函数来调整数组大小。 输出如下: nd
阅读全文
摘要:NumPy - 数据类型 NumPy 支持比 Python 更多种类的数值类型。 下表显示了 NumPy 中定义的不同标量数据类型。 NumPy 数字类型是dtype(数据类型)对象的实例,每个对象具有唯一的特征。 这些类型可以是np.bool_,np.float32等。 数据类型对象 (dtype
阅读全文
摘要:NumPy - Ndarray 对象 NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型。 它描述相同类型的元素集合。 可以使用基于零的索引访问集合中的项目。 ndarray中的每个元素在内存中使用相同大小的块。 ndarray中的每个元素是数据类型对象的对象(称为 dtyp
阅读全文
摘要:一 . K-近邻算法(KNN)概述 最简单最初级的分类器是将全部的训练数据所对应的类别都记录下来,当测试对象的属性和某个训练对象的属性完全匹配时,便可以对其进行分类。但是怎么可能所有测试对象都会找到与之完全匹配的训练对象呢,其次就是存在一个测试对象同时与多个训练对象匹配,导致一个训练对象被分到了多个
阅读全文
摘要:当我们将 vue 项目完成后,面临的就是如何将项目进行打包上线,放到服务器中。我使用的是 vue-cli(simple) 脚手架,所以就讲一下如何将项目进行打包,并放到 tomcat 上。 如果是 vue-cli (非 simple 脚手架),这篇文章可能有点帮助。地址链接:vue-cli 如何打包
阅读全文