第4章 NumPy基础
NumPy是高性能科学计算和数据分析的基础包。
主要功能:
1、ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组。
2、用于对整组数据进行快速运算的标准数学函数(无需编写循环)。
3、用于读写磁盘数据的工具以及用于操作内存映射文件的工具。
4、线性代数、随机数生成以及傅里叶变换功能。
5、用于集成由C、C++、Fortran等语言编写的代码的A C API。
ndarray:一种多维数组对象。ndarray是一个通用的同构数据多维容器(所有元素必须是相同类型的)。每个数组都有一个shape(一个表示各维度大小的元组)和一个dtype(一个用于说明数组数据类型的对象)
创建ndarray:
通过np.array()创建,例:arr1 = np .array(序列型对象)
嵌套序列将会被转化为一个多维数组。
其他创建方法:zeros和ones分别可以创建指定长度或形状的全0或全1数组。
empty可以创建一个没有任何具体值的数组。
NumPy默认数据类型是浮点型(float64)

ndarray的数据类型:


astype():将一个数组从一个dtype转换成另一个dtype。例:arr.asyupe(目标数据类型),浮点数转换为整数会舍去小数部分。
基本索引和切片:切片索引、布尔索引、花式索引(利用整数数组进行索引):花式索引跟切片不一样,它总是将数据复制到新数组中。
数组转置:转置是重塑的一种特殊形式,它返回的是源数据的视图(不会进行任何复制操作)。通过transpose方法、swapaxes方法和T属性进行行列转置。
通用函数:sqrt、exp、maximum(将两个数组中元素两两比较,返回最大的元素重新组成一个数组)、modf(返回浮点数组的小数和整数部分)




基本数组统计方法:


集合函数:

常用的线性代数函数:

随机函数:


第4章 NumPy基础的更多相关文章
- 《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算
http://www.cnblogs.com/batteryhp/p/5000104.html 第四章 Numpy基础:数组和矢量计算 第一部分:numpy的ndarray:一种多维数组对象 实话说, ...
- 《利用Python进行数据分析·第2版》第四章 Numpy基础:数组和矢量计算
<利用Python进行数据分析·第2版>第四章 Numpy基础:数组和矢量计算 numpy高效处理大数组的数据原因: numpy是在一个连续的内存块中存储数据,独立于其他python内置对 ...
- 【学习笔记】 第04章 NumPy基础:数组和矢量计算
前言 正式开始学习Numpy,参考用书是<用Python进行数据清洗>,计划本周五之前把本书读完,关键代码全部实现一遍 NumPy基础:数组和矢量计算 按照书中所示,要搞明白具体的性能差距 ...
- python数据分析---第04章 NumPy基础:数组和矢量计算
NumPy(Numerical Python的简称)是Python数值计算最重要的基础包.大多数提供科学计算的包都是用NumPy的数组作为构建基础. NumPy的部分功能如下: ndarray,一个具 ...
- 利用Python进行数据分析 第4章 NumPy基础-数组与向量化计算(3)
4.2 通用函数:快速的元素级数组函数 通用函数(即ufunc)是一种对ndarray中的数据执行元素级运算的函数. 1)一元(unary)ufunc,如,sqrt和exp函数 2)二元(unary) ...
- 《利用Python进行数据分析》笔记---第4章NumPy基础:数组和矢量计算
写在前面的话: 实例中的所有数据都是在GitHub上下载的,打包下载即可. 地址是:http://github.com/pydata/pydata-book 还有一定要说明的: 我使用的是Python ...
- 利用python进行数据分析--numpy基础
随书练习,第四章 NumPy基础:数组和矢量运算 # coding: utf-8 # In[1]: # 加注释的三个方法1.用一对"""括起来要注释的代码块. # 2. ...
- 利用Python进行数据分析(5) NumPy基础: ndarray索引和切片
概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为a ...
- java面向对象编程——第二章 java基础语法
第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...
随机推荐
- 为什么要使用encodeURL转换URL编码?
参考: https://www.cnblogs.com/haitao-fan/p/3399018.html http://www.ruanyifeng.com/blog/2010/02/url_enc ...
- python--ConfigParser读写改配置文件
from configparser import ConfigParser fp = 'conf.ini' #定义配置文件名 conf = ConfigParser() #实例化 conf.read( ...
- grafana设置Alert阈值和邮件报警
首先我们需要在机器上开启smtp/25服务,这里有一个坑,注意,云主机为了防止滥发邮件已经封掉了smtp的所有通信,所以云主机发邮件是有问题的. 安装sendmail,ubuntu用apt,cento ...
- I.MX6 make menuconfig OTG to slave only mode
/****************************************************************************** * I.MX6 make menucon ...
- 20155229 2016-2017-2 《Java程序设计》第六周学习总结
20155229 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 第十章 Java中,输入串流代表对象为java.io.InputStream,输出串流代表对 ...
- Ubuntu 18.10安装Firefox 和 Google Chrome
================================ 工作环境迁移到Linux上,操作系统使用Linux Mint19.1(基于Ubuntu的), 自带的浏览器器是低版本的英文版,现在使用 ...
- Maps.newHashMapWithExpectedSize(2)
☆ Map<String, Object> diffQuota = Maps.newHashMapWithExpectedSize(2); Maps.newHashMapWithExpec ...
- Struts2重新学习2之struts2和struts1的区别
1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类:Struts 1的一个具体问题是使用抽象类编程而不是接口.Struts 2 Action类可以实现一个Acti ...
- python 2个dict如何合并
dictMerged2 = dict( dict1, **dict2 ) 这种效率比较高 refer to: http://www.pythoner.com/13.html
- BKL 大内核锁
BKL 大内核锁 BKL是一种递归锁.一个进程可以多次请求一个锁,并不会像自旋锁那么产生死锁. BKL可以在进程上下文中. BKL是有害的. 在内核中不鼓励使用BKL.一个执行线程可以递归的请求锁lo ...