python数组操作

Numpy

折月煮酒 提交于 2019-12-02 11:44:34
Numpy 简介 ndarray 通用函数 其他 一 、简介 Numpy是高性能科学计算和数据分析的基础包。它也是pandas等其他数据分析的工具的基础,基本所有数据分析的包都用过它。NumPy为Python带来了真正的多维数组功能,并且提供了丰富的函数库处理这些数组。它将常用的数学函数都支持向量化运算,使得这些数学函数能够直接对数组进行操作,将本来需要在Python级别进行的循环,放到C语言的运算中,明显地提高了程序的运算速度。 安装方法: pip install numpy 引用方式: import numpy as np 这是官方认证的导入方式,可能会有人说为什么不用 from numpy import * ,是因为在numpy当中有一些方法与Python中自带的一些方法,例如 max 、 min 等冲突,为了避免这些麻烦大家就约定俗成的都使用这种方法。 二 、ndarray -多维数组对象 Numpy的核心特征就是N-维数组对——ndarray. 2.1 为什么要是用ndarray? 接下来我们可以通过具体的实例来展示一下ndarray的优势。 现在有这样一个需求: 已知若干家跨国公司的市值(美元),将其换算为人民币 按照Python当中的方法 第一种:是将所有的美元通过for循环依次迭代出来,然后用每个公司的市值乘以汇率 第二种:通过map方法和lambda函数映射

LeetCode第283题移动零(Python)

不想你离开。 提交于 2019-12-02 09:12:20
LeetCode第283题移动零(Python) 题目描述 解题方法和思路 设定两个索引,交换元素 题目描述 给定一个数组 nums ,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例1: 输入 : [ 0 , 1 , 0 , 3 , 12 ] 输出 : [ 1 , 3 , 12 , 0 , 0 ] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/move-zeroes/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 解题方法和思路 带*的表示参考其他人的是实现 设定两个索引,交换元素 思路: 初始化索引 p 和 q ,位置为数组中第一个 0 元素出现的地方的索引,例如如下所示: [ 0 , 1 , 0 , 3 , 12 ] ^ p = q 前进 q 索引,碰到非零元素则和 p 索引交换,交换完成后 p 索引自加1 复杂度: 时间复杂度: O ( n ) O(n) O ( n ) 空间复杂度:无需额外数据空间, O ( 1 ) O(1) O ( 1 ) 代码: class Solution : def moveZeroes ( self , nums : List [ int ] ) - > None :

Python中的numpy常用函数整理

十年热恋 提交于 2019-12-02 08:10:30
导入numpy: import numpy as np 一、numpy常用函数 1.数组生成函数 np.array(x):将x转化为一个数组 np.array(x,dtype):将x转化为一个类型为type的数组 np.zeros(shape):生成shape维度大小的全0数组 np.zeros_like(a):生成与a各维度大小一致的全0数组 np.ones(shape):生成shape维度大小的全1数组 np.ones_like(a):生成与a各维度大小一致的全1数组 np.full(shape,val):生成shape维度大小的全val数组 np.full_like(a,val):生成与a各维度大小一致的全val数组 np.empty(shape):生成shape维度大小的未初始化数组 np.empty_like(a):与np.zeros_like(a)作用类似 np.eye(n):生成n×n的单位矩阵 np.identity(n):生成n×n的单位矩阵 np.arange(begin,end,step):生成一个从begin到end-step的步长为step的一维数组,其中begin(默认0),step(默认1)可省略 np.linspace(start,stop,num):生成一个含num个元素的等差数列,start为第一个元素,stop为最后一个元素 np.where

python数据分析之NUMPY基础02

梦想的初衷 提交于 2019-12-02 06:19:11
用元组设置维度: >>>a=arange(24) 此时,a为一维数组,可以采用reshape或shape函数改变数组的维度 采用reshape函数: >>>a.reshape(2,3,4) 采用shape函数: ravel:将多维数组展平 flatten:与ravel函数的功能相同,不过,flatten函数会请求分配内存来保存结果,而ravel函数只是返回数组的一个视图。 transpose:对矩阵进行转置: resize:和reshape函数功能相同,但resize会直接修改所操作的数组: 来源: oschina 链接: https://my.oschina.net/u/2269966/blog/390498

numpy基础

风流意气都作罢 提交于 2019-12-02 02:42:08
Numpy Numpy是什么? NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy ,就可以很自然地使用数组和矩阵。 NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。 这个库的前身是 1995年就开始开发的一个用于数组运算的库。经过了长时间的发展,基本上成了绝大部分Python科学计算的基础包,当然也包括所有提供Python接口的深度学习框架。 为什么使用 Numpy? a) 便捷: 对于同样的数值计算任务,使用 NumPy要比直接编写Python代码便捷得多。这是因为NumPy能够直接对数组和矩阵进行操作,可以省略很多循环语句,其众多的数学函数也会让编写代码的工作轻松许多。 b) 性能: NumPy中数组的存储效率和输入输出性能均远远优于Python中等价的基本数据结构(如嵌套的list容器)。其能够提升的性能是与数组中元素的数目成比例的。对于大型数组的运算,使用NumPy的确很有优势。对于TB级的大文件,NumPy使用内存映射文件来处理,以达到最优的数据读写性能。 c) 高效: NumPy的大部分代码都是用C语言写成的,这使得NumPy比纯Python代码高效得多。 当然,NumPy也有其不足之处,由于NumPy使用内存映射文件以达到最优的数据读写性能,而内存的大小限制了其对TB级大文件的处理

Python学习教程(Python学习视频_Python学习路线):Python数据结构

时间秒杀一切 提交于 2019-12-02 01:04:44
Python学习教程(Python学习视频_Python学习路线):Python数据结构 概述 数据结构是组织数据的方式,以便能够更好的存储和获取数据。数据结构定义数据之间的关系和对这些数据的操作方式。数据结构屏蔽了数据存储和操作的细节,让程序员能更好的处理业务逻辑,同时拥有快速的数据存储和获取方式。 在这篇文章中,你将了解到多种数据结构以及这些数据结构在Python中实现的方式。 抽象数据类型和数据结构 数据结构是抽象数据类型(ADT)的实现,通常,是通过编程语言提供的基本数据类型为基础,结合相应的代码来实现。 通常来说,数据结构分为两类:原始数据结构和非原始数据结构,原始数据结构是用来表示简单的数据关系,非原始数据结构包含原始数据结构,同时,数据关系更加复杂,数据操作也更加复杂。 原始数据结构 原始数据结构 - 顾名思义 - 是最原始的或基本的数据结构。 它们是数据操作的构建块,包含纯粹,简单的数据值。 Python有四种原始变量类型: Integers Float Strings Boolean Integers 您可以使用Integers表示数字数据,具体地说,可以使用从负无穷大到无穷大的整数 Float “Float”代表“浮点数”。 您可以将它用于有理数,通常以十进制数字结尾,例如1.11或3.14。 请注意,在Python中,您不必显式声明变量或数据的类型。

Numpy | 14 字符串函数

你。 提交于 2019-12-02 00:25:06
本章函数用于 对 dtype 为 numpy.string_ 或 numpy.unicode_ 的数组 执行向量化字符串操作。 它们 基于 Python 内置库中的标准字符串函数。 这些函数在字符数组类( numpy.char )中定义。 函数 描述 add() 对两个数组的逐个字符串元素进行连接 multiply() 返回按元素多重连接后的字符串 center() 居中字符串 capitalize() 将字符串第一个字母转换为大写 title() 将字符串的每个单词的第一个字母转换为大写 lower() 数组元素转换为小写 upper() 数组元素转换为大写 split() 指定分隔符对字符串进行分割,并返回数组列表 splitlines() 返回元素中的行列表,以换行符分割 strip() 移除元素开头或者结尾处的特定字符 join() 通过指定分隔符来连接数组中的元素 replace() 使用新字符串替换字符串中的所有子字符串 decode() 数组元素依次调用 str.decode encode() 数组元素依次调用 str.encode numpy.char.add() numpy.char.add() 函数依次对两个数组的元素进行字符串连接。 import numpy as np print('连接1:',np.char.add(['hello'], [' xyz'])

NumPy-生成ndarray

蓝咒 提交于 2019-12-01 20:29:54
NumPy ndarray:多维数组对象 NumPy的核心特征之一就是 N-维数组对象——ndarray。 ndarray是Python中的一个快速、灵活的大型数据集容器。数字允许你使用类似于标量的操作语法在整块数据上进行数学计算。 首先要导入NumPy模块 import numpy as np 生成ndarray 生成数组对象最简单的方式就是使用array函数。 array函数接收任意的序列型对象(当然也包括其他的数组),生成一个新的包含传递数据的NumPy数组。 生成一维数组: data1 = [6,7.5,8,0,1] arr1 = np.array(data1) print(arr1) [6. 7.5 8. 0. 1. ] 生成二维数组: data2 = [[1,2,3,4],[5,6,7,8]] arr2 = np.array(data2) print(arr2) print(arr2.ndim) print(arr2.shape) [[1 2 3 4] [5 6 7 8]] 2 (2, 4) ndim 与 shape 这两个属性都是用来表示数组的。 ndim 用来表示这个数组是几维的 shape 用来表示这是一个几乘几的数组 dtype 除非显式的指定,否则 np.array 会自动推断生成数组的数据类型。 比如你的数组中如果有一个数字是浮点型的话

前端之JavaScript

為{幸葍}努か 提交于 2019-12-01 19:12:58
1 | 0 JavaScript概述 1 | 1 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。 该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。而是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。 因此ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。 1 | 2 ECMAScript的历史 年份 名称 描述 1997 ECMAScript 1 第一个版本 1998 ECMAScript 2 版本变更 1999 ECMAScript 3 添加正则表达式 添加try/catch ECMAScript 4 没有发布 2009 ECMAScript 5 添加"strict mode"严格模式 添加JSON支持 2011 ECMAScript 5.1 版本变更

前端之JavaScript

烈酒焚心 提交于 2019-12-01 16:58:10
目录 JavaScript概述 ECMAScript和JavaScript的关系 ECMAScript的历史 JavaScript引用方式 JavaScript语言规范 JavaScript基础 变量声明 注意: JavaScript数据类型 JavaScript拥有动态类型 数值(Number) 字符串(String) 布尔值(Boolean) null和undefined 对象(Object) forEach() splice() map() 类型查询 运算符 算数运算符 比较运算符 逻辑运算符 赋值运算符 流程控制 if-else if-else if-else switch for while 三元运算 函数 函数定义 函数中的arguments参数 函数的全局变量和局部变量 作用域 词法分析(尝试理) 内置对象和方法 自定义对象 Date对象 JSON对象 RegExp对象 Math对象 JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。