认识Numpy Ndarray对象

Numpy介绍

  NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

  NumPy为什么能够受到各个数据科学从业人员的青睐与追捧,其实很大程度上是因为NumPy在向量计算方面做了很多优化,接口也非常友好。而这些其实都是在围绕着NumPy的一个核心数据结构Ndarray

Ndarray对象

  Ndarray的全称是(N-Dimension Arrary),表明了一个ndarray对象就是一个N维数组。但要注意的是,ndarray是同质的。同质的意思就是说N维数组里的所有元素必须是属于同一种数据类型的。

Ndarray对象实例化

  实例化ndarray对象的函数有很多种,但最为常用的函数是arrayzerosones以及empty

首先导入numpy:

import numpy as np

1.使用array函数实例化Ndarray对象

使用NumPy中的array函数将list中的值作为初始值,来实例化一个ndarray对象。

a = np.array([[2, 3, 4],[5, 6, 7]])
print(a)

结果为:

2.使用zeros,ones,empty函数实例化Ndarray对象

顾名思义,使用这些函数可以实例化一个全是0、1或者是为空的ndarray对象

import numpy as np

a = np.zeros((3, 4))
b = np.ones((3, 4))
c = np.empty((3, 4))
print(a)
print(b)
print(c)

结果为:

Ndarray的操作

  形状操作

  使用reshape函数改变ndarray对象的形状

import numpy as np
a = np.zeros((3, 4))
print(a)
# 使用函数reshape将3行4列改成4行3列
a = a.reshape((4, 3))
print(a)

结果为:

  算术操作

对ndarray进行加减乘除等操作

import numpy as np
a = np.array([0, 1, 2, 3])
print(a)
# a中的所有元素都加2
b = a + 2
print(b)
# a中的所有元素都减2
c = a - 2
print(c)
# a中的所有元素都乘以2
d = a * 2
print(d)
# a中的所有元素都除以2
e = a / 2
print(e)

结果为:

切片

ndarray元素的索引从0开始。ndarray的切片方式与pythonlist的遍历方式也极为相似,掌握了诀窍之后就很简单。

举个例子,假设想要将下图中紫色部分切片出来,就需要确定行的范围和列的范围。由于紫色部分行的范围是02,所以切片时行的索引范围是0:3(索引范围是左闭右开);又由于紫色部分列的范围也是02,所以切片时列的索引范围也是0:3(索引范围是左闭右开)。最后把行和列的索引范围整合起来就是[0:3, 0:3](,左边是行的索引范围)。当然有时为了方便,0可以省略,也就是[:3, :3]

 

 

 代码如下:

import numpy as np

a = np.array([[1,10,11,20,21],[2,9,12,19,22],[3,8,13,18,23],[4,7,14,17,24],[5,6,15,16,25]])
print(a)
print(a[:3, :3])

结果为:

 

posted @ 2020-03-01 17:28  杨小平#  阅读(526)  评论(0编辑  收藏  举报