建议大家使用jupyter notebook进行操作!
在日常生活中数据分析不是简单的一位数组或者列表,更多的情况下是以多维向量矩阵的形式出现。为了高效地处理这些数据,Python的Numpy中提供了多维数组对象ndarray以供使用。首先我们需要引入Numpy:
import numpy as np
为了更好地理解多维数组处理的方式,这里给出一个案例。5位学生参加考试,一共7门课。具体数据如下:

names = np.array(['王微', '肖良英', '方绮雯', '刘旭阳','钱易铭'])
print(names)
subjects = np.array(['Math', 'English', 'Python', 'Chinese','Art', 'Database', 'Physics'])
print(subjects)

(1)数组纬度
print(names.ndim)
(2)数组元素个数
print(names.size)
(3)数组数据类型
print(names.dtype)

类似列表的位置索引,索引范围是 0 ~ n-1 :
print(names[2])
print(subjects[-3])

同样类似列表,采用 start🔚step 方式。元素从start开始,end-1结束,step为步长。
print( subjects[ [0,2,4] ] )
print(names[ 1:4 ])
print(subjects[ : -1:2])

可以使用条件表达式和关系运算符来选择所需要的数据元素。如筛选出names数组中值等于“王微”或“钱易铭”的元素。
print( names[ (names == '王微') | (names== '钱易铭') ] )

scores = np.array([[70,85,77,90,82,84,89],[60,64,80,75,80,92,90],[90,93,88,87,86,90,91],[80,82,91,88,83,86,80],[88,72,78,90,91,73,80]])
print(scores)
与一维类似:
print(scores.ndim) #数组维数
print(scores.size) #数组元素总数,行×列
print(scores.shape) #数组的行数和列数
print(scores.dtype) #数组元素的类型

(1)访问指定行、列元素,给出行和列两个索引值
print(scores[1,0])
print(scores[[1,3],[0,1]])

(2)访问部分行元素,给出行列表即可,列索引的“:”可以省略
print(scores[[1,3]])

(3)访问部分列元素
print(scores[: , [0,1]])

(4)访问部分行和列数据
如:0和3行中,1~3列的数据
print(scores[ [0,3], 1:4 ])

实质bool型数组筛选!
print( scores[(names == '肖良英') | (names == '方绮雯'), :] )
print( scores[(names == '肖良英') | (names == '方绮雯')][:,(subjects == 'Math') | (subjects == 'Python')] )

np.arange(0,11)

np.arange(3,11,2)

np.arange(0.3,1.5,0.3)

如将有15个连续整数的一维数组转换为3x5的二维数组
np.arange(0,15).reshape(3,5)

创建元素全0或全1的矩阵
np.zeros((3,4))

np.ones((3,4))

over,一张美图送给大家~
