您的位置:首页 > 编程语言 > Python开发

numpy中数组介绍

2016-03-07 20:16 465 查看

支持的数据类型

bool_ 布尔类型,保存为一个byte

int_ 默认整数类型,和C的long类型一样

intc 相当于C的int类型

intp 当做index的整数,和C的ssize_t一样

int8 -128 to 127

int16 -32768 to 32767

int32 -2147483648 to 2147483647

uint8 0 to 255

uint16,uint32,uint64等等类似的无符号整数

float_ float64的简写

float16 半精度float:符号位,5位指数位,10位尾数位

float32 单精度float:符号位,8位指数位,23位尾数位

float64 双精度float:符号位,11位指数位,52位尾数位

complex_ complex128的简写

关于类型转换

Data-types可以被用来作为函数实现python数字到array scalar(数组标量)的转换以及实现python数字序列到Data-types的数组的转换,或者当做赋值给dtype关键字的参数,例如:

import numpy as np

x=np.float32(1.0)

x

1.0

y=np.int_([1,2,4])

y

array([1,2,4])

z=np.arange(3, dtype=np.uint8)

z

array([0,1,2],dtype=uint8)

数组的类型使用 .astype()方法或使用者其自身类型所化的函数,例如:

z.astype(float)

array([0. , 1. , 2. ])

np.int8(z)

array([0,1,2],dtype=int8)

numpy数组的建立

有五种方法:

1 、从python结构类型转换(例如:lists,tuples等等)

2 、numpy 数组内涵的数组建立对象(例如arange,ones,zeros等等)

3 、从内存或者标准输入输出读取

4 、 利用strings或者缓存得到数组

5 、 利用特殊的库函数(例如random)

将python类数组对象转化为numpy数组

x = np.array([2,3,1,0])

x = np.array( [1,2.0], [0,0], (1+1j,3.) ] ) #注意是tuple和lists等的混合

内涵的numpy数组建立方法

zeros(shape) 方法将建立一个用0初始化的特定shape的数组,默认dtype为float64。

np.zeros( (2, 3)) #array( [ [0. ,0. ,0.] , [0. ,0. , 0.] ] )

类似的ones(shape) 方法将建立一个用1初始化的特定shape的数组

arange() 方法将建立一个按一定数值规律递增的一个数组

np.arange(6)

array( [0,1,2,3,4,5,6])

np.arange(2,6,dtype=np.float)

array( [2. , 3. , 4. , 5. ] )

np.arange(2, 3, 0.1)

array( [2. , 2.1 ,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9] )

linspace() 将建立一个用特定数值等分给定范围形成的数组,例如:

np.linspace(1. , 4. , 6)

array( [ 1. , 1.6, 2.2, 2.8, 3.4, 4 ])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: