numpy数组

1.创建数组

import numpy as np
a=np.array([1,2,3,4],[4,5,6,7],[7,8,9,10])
查看:
a.shape  |  (3,4)
a.shape = 4,3  |  改变为4*3形状  
a.shape = 2,-1  |  -1代表自动计算长度
a.dtype  |  返回元素类型('int32')
也可通过dtype指定创建数组元素的类型
b = np.array([1,2,3],dtype=np.float)

np.arange(0,1,0.1)  开始值、终值、步长,不包括终值
np.linspace(0,1,10)  开始值、终值、元素个数。默认endpoint=True,当不想包括终值时,可设置endpoint=False.
np.logspace(0,2,5)  同上,但是是等比数组

np.zeros()
np.ones()
np.empty()  只分配内存

2、存取元素

Numpy采用tuple作为数组下标,和python的切分基本一样,但是:

  下标只包含整数和切片时,得到的数组和原数组共享数据,改变 一个值即会改变原来的数组

  下标是列表时,得到的数组和原数组不共享数据

得到的数组和原数组不共享数组,改变一个不会改变原来的数组。

 

3、结构数组

  

persontype = np.dtype({
             'names':['name','age','weight'],
              'formats':['S32','i','f']},align=True)

a=np.array([("coco",32,76.0),"coco1",43,75.3],dtype=persontype)

persontype中的names和formats是字典的两个键,每个键对应一个列表

 

4、内存结构

dtype *
dim count 2
dimensions 3,3
strides 12,4
data *

float32元素类型

 

 

 

 

 

a=np.array([[0,1,2],[3,4,5],[6,7,8]],dtype=np.float32,order="C")  默认的order就是C

a.strides  |  (12,4)

order="C":存储格式为C语言数据格式,C是一行一行存储数据

 

a=np.array([[0,1,2],[3,4,5],[6,7,8]],dtype=np.float32,order="F")

a.strides  |  (4,12)

order="F":存储格式为Fortran数据格式,F是一列一列存储数据

posted @ 2015-02-07 20:01  fireflycmh  阅读(290)  评论(0编辑  收藏  举报