numpy介绍

  numpy属于python的一个数学库,相比于Python做数值计算速度更快.也可以使用numpy进行向量和矩阵计算.

1.ndarrays数据类型的创建


np.arange( 10, 30, 5 )



 2、ndarrays的切片



a[ : :-1]
:
>>> b[-1]                                  # 相似于 b[-1,:],如果是多维,后面的轴数被认为是完整索引。
array([40, 41, 42, 43])

# 三个点( ... )表示产生完整索引元组所需的冒号,如果 x 是rank为的5数组(即,它具有5个轴),例如:

>>> b[-1]                                  # 相似于 b[-1,:],如果是多维,后面的轴数被认为是完整索引。
array([40, 41, 42, 43])

# 三个点( ... )表示产生完整索引元组所需的冒号,如果 x 是rank为的5数组(即,它具有5个轴),例如:

...
x
  • x[1,2,...] 等于 x[1,2,:,:,:]。    # 省略后面
  • x[...,3] 等效于 x[:,:,:,:,3]。    # 省略前面
  • x[4,...,5,:] 等效于 x[4,:,:,5,:]   # 省略中间


备注:以逗号分割维度

3、ndarrays的属性



print(type(a))          # type()输出变量的类型,<class 'numpy.ndarray'>
print(a.dtype)          # 输出a中元素的类型,int64
print(a.size)           # 输出a中包含元素的个数,25
print(a.shape)          # a的形状,每个维度具有的元素个数,2
print(a.itemsize)       # 每个元素占用了多少个字节,8字节(64/8)
print(a.ndim)           # a的维度是多少,2
print(a.nbytes)         # a有多少个字节,8*25



 4、基础操作



a = np.arange(25)   # 产生25个数值,0--24
a = a.reshape((5, 5))   # 改成5*5的矩阵,如果不支持,报错:cannot reshape array of size × into shape (×,×)

b = np.array([10, 62, 1, 14, 2,
              56, 79, 2, 1, 45,
              4, 92, 5, 55, 63,
              43, 35, 6, 53, 24,
              56, 3, 56, 44, 78])
b = b.reshape((5, 5))
a.sum()   # 所有元素求和



 5、迭代



# for ... in ...       多维数组是相对于第一个轴完成的

>>> for row in b:
...     print(row)        # 是对b第一轴的迭代,如果b是二维数组输出的是,每行数据.


#  flat 属性       迭代每个元素

>>> for element in b.flat:
...     print(element)     # 输出的是每个元素