维度: 为了描述一组数据所表示的含义,我们需要维度这样一个概念,数据维度就是在数据之间形成特定关系表达多种含义的基础概念。
一维数据可以使用python提供的列表数组集合等概念
列表和数组的不同:
列表中每一个数据类型是可以不同的 (有序)
数组中每一个数据类型是必须相同的 (无序)
二维数据是一维数据的组合形式,二维数据和多维数据中使用列表类型,高维类型使用字典或数据表达式格式表示
numpy:提供了一个强大的N维数组对象ndarray,使用numpy:import numpy as np
ndarray:是一个多维数组对象,一般要求元素类型相同,构成:
1)实际数据
2)描述这些数据的元数据(数据维度、数据类型等)
用np.array生成一个ndarray数组
创建ndarray数组:
1)从python中列表、元组等类型创建
x = np.array(list/tuple)
可以用dtype指定数据类型,若不指定类型,则根据数据情况关联一个数据类型
2)使用Numpy中函数创建
索引: 获取数组中特定位置元素的过程
切片: 获取数组元素子集的过程
一维索引与切片
a = np.array([2,5,3,6,5,7])a[2]3a[1:4:2]#起始编号:终止编号(不含):步长,1:4表示第一第二第三个元素array([5,6])
二维索引和切片
#一个234数组#索引a[1,2,3]#复数表示从右到左a[:,2,3]#不关心第一维度是啥,只需要第二第三维度分别为第三个元素和第四个元素a[:,1:3,:]#不关心第一维度是啥,也不关心第三维度是啥,第二维度从一到三不包含三a[:,:,::2]#不关心第一二三维度,只需要第三维度以2为步长获取其中的值
数组和标量的运算作用于数组的每一个元素