数据维度的 Python 表示
一维数据:列表和集合类型
列表(有序)
[3.1398,3.1349,3.1376]
集合(无序)
{3.1398,3.1349,3.1376}
二维数据:列表类型
[[3.1398,3.1349,3.1376],
[3.1413,3.1404,3.1401]]
多维数据:列表类型
Numpy的数组对象:ndarray
1、数组类型相对列表类型具有的优势
• 数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据
• 设置专门的数组对象,经过优化,可以提升这类应用的运算速度
观察:科学计算中,一个维度所有数据的类型往往相同
• 数组对象采用相同的数据类型,有助于节省运算和存储空间
2、ndarray实例
In [4]: data = [6,7.5,8,0,-1]
In [5]: arr1 = np.array(data)
In [6]: arr1
Out[6]: array([ 6. , 7.5, 8. , 0. , -1. ])
In [7]: data = [[1,2,3,4],[5,6,7,8]]
In [8]: arr2 = np.array(data)
In [9]: arr2
Out[9]:
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
3、ndarray对象的属性
4、ndarray的元素类型
对比Python语法仅支持整数、浮点数和复数3种类型,ndarray有以下优点
• 科学计算涉及数据较多,对存储和性能都有较高要求
• 对元素类型精细定义,有助于NumPy合理使用存储空间并优化性能
• 对元素类型精细定义,有助于程序员对程序规模有合理评估
5、ndarray数组的创建方法
(1)从列表、元组等类型创建ndarray数组
x = np.array([0,1,2,3])
(2)使用Numpy中的函数创建ndarray数组,如:arange,ones,zeros...
In [13]: np.ones((3,6))
Out[13]:
array([[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.]])