第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 ...
随机推荐
- markdown实例
Hi This is a Markdown live editor built using WMD and other open source tools. I use it to write ent ...
- linux fdisk 添加硬盘,分区,挂载,永久挂载
具体步骤: 1.SSH登陆服务器: 2.列出所有硬盘: 命令:ll /dev/disk/by-path 我这里还有个sda 3.查看磁盘分区情况: 命令 :fdisk -l 最上面两部分表示我有两个物 ...
- MyEclipse移动开发教程:设置所需配置的iOS应用(三)
MyEclipse个人授权 折扣低至冰点!立即开抢>> [MyEclipse最新版下载] 三.创建配置文件 Provisioning profiles授权文件应用程序在iOS设备上安装并运 ...
- Java平台标准版本
JDK Java Language Java Language Tools &Tool APIs java javac javadoc jar javap jdeps Script ...
- linux 优化git操作速度
修改 ssh配置:useDNS:no
- 配置动态加载模块和js分模块打包,生产环境和开发环境公共常量配置
1. 话不多少 先上代码: route.js // 引用模板 分模块编译 const main = r => require.ensure([], () => r(require('. ...
- HTML5的classList API优化对样式名className的操作
//添加一个class elem.classList.add(classname); //删除一个class elem.classList.remove(classname); //判断一个class ...
- 小程序和ThinkPHP5结合实现登录状态(含代码)
本篇文章给大家带来的内容是关于小程序和ThinkPHP5结合实现登录状态(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 微信小程序中,一般会涉及三种登录方式: 1. 使用微 ...
- CodeForces - 140E:New Year Garland (组合数&&DP)
As Gerald, Alexander, Sergey and Gennady are already busy with the usual New Year chores, Edward has ...
- Visual Studio 2017 以前的旧格式的 csproj Import 进来的 targets 文件有时不能正确计算属性(PropertyGroup)和集合(ItemGroup)
我在之前的博客中有教大家如何编写 NuGet 工具包,其中就有编写 .targets 文件. 我在实际的使用中,发现 Visual Studio 2017 带来的含 Sdk 的新 csproj 格式基 ...