全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
1456 2
2015-10-26

2.1 NumPy 数组对象

NumPy数组一般是同质的(但有一种特殊的数组类型例外,它是异质的),即数组中的所有

元素类型必须是一致的。这样有一个好处:如果我们知道数组中的元素均为同一类型,该数组所

需的存储空间就很容易确定下来。

2.2创建多维数组

In[5]:import numpy as np

In[6]:m=np.array([np.arange(2),np.arange(2)])

In[7]:m

Out[7]:

array([[0,1],

       [0, 1]])

In[8]:m.shape

Out[8]:(2L, 2L)

2.2.1 选取数组元素

In[9]:a=np.array([[1,2],[3,4]])

In[10]:a

Out[10]:

array([[1,2],

       [3, 4]])

在创建这个多维数组时,我们给array函数传递的对象是一个嵌套的列表。现在来依次选取

该数组中的元素。记住,数组的下标是从0开始的。

In[11]:a[0,0]

Out[11]:1

In[12]:a[1,1]

Out[12]:4

对于数组a,只需要用a[m,n]选取各数组元素,其中m和n为元素下标,对应的位置如下表所示。

QQ截图20151026180117.png

2.2.2NumPy 数据类型

QQ截图20151026180123.png

2.2.3 数据类型对象

数据类型对象是numpy.dtype类的实例。如前所述,NumPy数组是有数据类型的,更确切

地说,NumPy数组中的每一个元素均为相同的数据类型。数据类型对象可以给出单个数组元素在

内存中占用的字节数,即dtype类的itemsize属性:

In[13]:a.dtype.itemsize

Out[13]:4

2.2.4 字符编码

QQ截图20151026180131.png

创建了一个单精度浮点数数组:

In[16]:np.arange(7, dtype='f')

Out[16]:array([ 0.,  1.,  2., 3.,  4.,  5., 6.], dtype=float32)

2.2.5 自定义数据类型

可以使用Python中的浮点数类型:

In[18]:np.dtype(float)

Out[18]:dtype('float64')

可以使用字符编码来指定单精度浮点数类型:

In: dtype('f')

Out: dtype('float32')

 可以使用字符编码来指定双精度浮点数类型:

In: dtype('d')

Out:dtype('float64')

2.2.6 dtype 类的属性

dtype类有很多有用的属性。例如,我们可以获取数据类型的字符编码:

In[23]:t=np.dtype('Float64')

In[24]:t.char

Out[24]:'d'

type属性对应于数组元素的数据类型:

In[25]:t.type

Out[25]:numpy.float64

str属性可以给出数据类型的字符串表示,该字符串的首个字符表示字节序(endianness),后面如果还有字符的话,将是一个字符编码,接着一个数字表示每个数组元素存储所需的字节数。这里,字节序是指位长为32或64的字(word)存储的顺序,包括大端序(big-endian)和小端序(little-endian)。大端序是将最高位字节存储在最低的内存地址处,用>表示;与之相反,小端序是将最低位字节存储在最低的内存地址处,用<表示:

In[26]:t.str

Out[26]:'<f8'


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-11-3 17:34:07
numpy模块怎么导入?我安装后import,报错说没有multiarray。

应该怎么解决,帮忙解答下,谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-1-15 22:08:45
求《numpy学习指南》第2版 数据下载
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群