第一次写文章,没什么经验。。。。


一、数据的维度

数据维度是数据的组织形式

1、一维数据:列表和集合类型

例如:[3.14,3.141,3.1415] (列表类型数据是有序的)

{3.14,3.141,3.1415} (集合类型数据是无序的)

2、二维数据:列表类型

例如:[ [3.14,3.141,3.1415],[3.13,3.134,3.135] ]

3、多维数据:列表类型

例如:在二维数据的基础上新增了一个时间的维度,那么这时候的数据属于多维数据。

4、高维数据:字典类型或数据表示格式(JSON、XML、YAML格式)

高维数据的字典类型

二、Python的NumPy库

1、NumPy是一个开源的Python科学计算基础库,包含:

1)强大的N维数组对象 ndarray

2)广播功能函数

3)整合C/C++/Fortran代码的工具

4)线性代数、傅里叶变换、随机数生成等功能

2、NumPy的引用

Python导入NumPy库

其中,as np是引入NumPy模块的别名,别名可以省略或更改,但是对于NumPy来说,”np“是NumPy开发者约定俗成的,建议还是使用上述约定的别名。

3、N维数组对象:ndarray

可能有同学会有疑问:为什么Python已有列表类型,为什么还需要一个数组对象(类型)?

下面我们通过一个例子来对比看看两者有何区别。

例如:计算

,其中a和b都是一维数组

python的标准计算方法

NumPy的计算方法

数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据;

设置专门的数组对象,经过优化,可以提升这类应用的运算速度;

在科学计算中,一个维度所有的数据的类型往往相同。数组对象采用相同的数据类型,有助于节省运算和存储空间。

4、ndarray是一个多维数组对象,由两部分构成:

1)实际的数据

2)描述这些数据的元数据(数据维度、数据类型等)

ndarray数组一般要求所有元素类型相同,数组下标从0开始。

ndarray对象的属性

ndarray对象的属性

例如:

ndarray对象的属性实例

ndarray数组的元素类型

ndarray数组的元素类型

5、ndarray数组的创建方法

1)从Python中的列表、元组等类型创建ndarray数组

例:

当np.array()不指定dtype时,NumPy将根据数据情况关联一个dtupe类型

2)使用NumPy中函数创建ndarray数组,如:arange,ones,zeros等

ndarray数组的创建

例:

ndarray数组创建实例

ndarray数组创建实例

3)从字节流(raw bytes)中创建ndarray数组

4)从文件中读取特定格式,创建ndarray数组

6、ndarray数组的变换

对于创建后的ndarray数组,可以对其进行维度变换和元素类型变换

nadrray数组的变换

例:对于a=np.ones((2,3,4))

7、ndarray数组的运算

1)数组与标量之间的运算

数组与标量之间的运算作用于数组的每一个元素

例:

a.mean()为计算a与元素平均值的商

2)NumPy的一元函数

对ndarray中的数据执行元素级运算的函数

例:

NumPy一元函数实例

3)NumPy二元函数

例:

NumPy二元函数实例

欢迎大家一起交流学习。

如果想更深入了解NumPy的应用,请看相应的官方文档:https://www.numpy/

更多推荐

python 对ndarray全体除以一个数_python学习日记之Numpy基础