python 机器学习库:Numpy

The Basics

图1

ndarray表示数组的名字

ndarray.ndim

表示 数组 的维度。

ndarray.shape

表示 数组 的行 与 列 。

ndarray.size

表示 数组 的大小。

ndarray.dtype

表示 数组元素 的类型,返回一个元组。

ndarray.dtype.name

表示 数组元素 的类型。

ndarray.itemsize

表示 数组元素 的大小,返回元素占内存空间的大小。

Array Creation

图2

创建 数组 要用一个列表初始化,没有列表初始化,会出错。

图3

创建 多维数组 。

图4

创建 复数数组, 用dtype 设置数组元素的类型 complex (复数) int(整数) float(浮点数)。

图5

Zeros 创建 全零的数组。

Ones 创建 全一的数组。

Empty 创建 空数组。

它们的输入都是一个元组,一般用于初始化。

图6

Arange( 起始值 , 终止值 ,步长 )
创建一个 数组 内容是起始值到终止值之间满足步长的所有值。

图7

Linspace( 起始值 , 终止值 , 个数 )
创建一个 数组 内容是把 起始值 至 终止值 平分成多少个元素。

图8

Arange( 数字 ) . Reshape( 元组 )

创建 一维 ,二维 , 三维 的数组。

图9

数组元素的计算 加 减 乘 除 指数 ,运算符两边可以是数组或数字。

图9-1

创建boolean型数组 : 数组 关系运算符 数字 —-> 输出:boolean数组

c[f] 表示读取原数组中大于某数的全体值。
c[~f] ~表示取反

这里写图片描述

数组的元素的积 和 数组乘积。

图11

Random.random 生产一个元素在 0 ~~ 1 之间的随机数组。

图12

Linspace 默认的类型是 float64

图13

计算 数组 的和 , 数组的最大值 , 数组的最小值。

图14

按行计算和 , 按行求最大、最小值 ,按行积累和

图15

基本的函数运算。

Indexing, Slicing and Iterating(索引,切片,迭代)

这里写图片描述

切片 a[ 起始数 : 结束数 ]

替换 a[ 起始值 :结束值 : 步长 ] = 替换值
表示 从起始值开始到结束值 每个迈一个步长 将原来值改为替换值

倒序输出 a[ : : -1 ]

图17

Fromfunction( 函数 , 元组 , 类型)
三个参数 :函数 , 生成数组的方式
元组 , 指定生成的数组的维度
类型 , 数组生成元素的类型
在例子中 x = [ 0 , 1, 2, 3, 4] y = [0, 1, 2, 3] 然后输入函数 输出数组。

对数组的切割 b[ : , : ] 逗号前面是行设置 后面是列设置。
两个数字表示从哪行(列)到哪行(列),一个数表示某行(列)。
若b[ ] 只有一个数字,表示某行。

图18

图19

图20

··· 省略符 省略由多个分号和逗号组成的完整索引。

图21

第一个是按行索引,按元素的索引。

图22

天花板函数,floot 把小数变成比它大的最小的整数。

图23

Ravel 把数组 变成 向量。

A.shape = 元组
设置数组的维度

Transpose()
求数组的转置。

图24

设置数组的维度的两种方法 resize( 元组 ) 和 reshape( 维度 )

图25

Vstack( ( 数组1 , 数组2 )) 将两个列相等的数组合并成一个。

如果两个三维数组 (2L,2L,2L) 和 (2L,2L,2L) 应用 vstack 合并后 维度变成(4L,2L,2L)
Vstack 合并高维数组时,只对第一位合并。

另一种方法:
图25_2

Hstack (( 数组1 , 数组2)) 将两个行相等的数组合并成一个。

如果两个三维数组 (2L,2L,2L) 和 (2L,2L,2L) 应用 hstack 合并后 维度变成(2L,4L,2L)
Hstack 合并高维数组时,只对第二位合并。

注意:合并两个数组时数组的维度一定要匹配。

另一种方法:
图25_1

图26

数组名[ : , newaxis ] 可以把n 维数组变成 n+1 维数组。
例如:
一维向量 (2L,) —> 二维数组 ( 2L , 1L )
二维数组 (2L , 3L) —> 三维数组 ( 2L , 1L , 3L )
三维数组 (3L , 5L , 6L) —-> 四维数组 (3L , 1L , 5L , 6L)


参考:
1. http://wiki.scipy.org/Tentative_NumPy_Tutorial

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值