教程|Python之Numpy ndarray 基本介绍 1
知识点1 NumPy是什么
NumPy(Numerical Python的简称)是Python数值计算最重要的基础包。大多数提供科学计算的包都是用NumPy的数组作为构建基础。
知识点2 NumPy的优势
NumPy可以高效处理大数组的数据,原因如下:
1. NumPy是在一个连续的内存块中存储数据,独立于其他Python内置对象。NumPy的C语言编写的算法库可以操作内存,而不必进行类型检查或其它前期工作。比起Python的内置序列,NumPy数组使用的内存更少。
2. NumPy可以在整个数组上执行复杂的计算,而不需要Python的for循环。
知识点3 NumPy效率高于Python的实例
基于NumPy的算法要比纯Python快10到100倍(甚至更快),并且使用的内存更少。
知识点4. ndarray的基本概念
NumPy最重要的一个特点就是其N维数组对象(即ndarray),该对象是一个快速而灵活的大数据集容器。你可以利用这种数组对整块数据执行一些数学运算,其语法跟标量元素之间的运算一样。
import numpy as np #导入numpy的标准写法
python与标量(单个数值)具有类似的语法
ndarray是一个通用的同构数据多维容器,也就是说,其中的所有元素必须是相同类型的。每个数组都有一个shape(一个表示各维度大小的元组)和一个dtype(一个用于说明数组数据类型的对象)
知识点5. 创建ndarray
创建数组最简单的办法就是使用array函数。它接受一切序列型的对象(包括其他数组),然后产生一个新的含有传入数据的NumPy数组。以一个列表的转换为例:
嵌套序列(比如由一组等长列表组成的列表)将会被转换为一个多维数组:
np.array会尝试为新建的这个数组推断出一个较为合适的数据类型。数据类型保存在一个特殊的dtype对象中。比如说,在上面的两个例子中,我们有:
除np.array之外,还有一些函数也可以新建数组。比如,zeros和ones分别可以创建指定长度或形状的全0或全1数组。empty可以创建一个没有任何具体值的数组。要用这些方法创建多维数组,只需传入一个表示形状的元组即可:
注意:认为np.empty会返回全0数组的想法是不安全的。很多情况下(如前所示),它返回的都是一些未初始化的垃圾值。
arange是Python内置函数range的数组版:
教程 | Jupyter Notebook初级教程——迷死人的基础操作
教程 | Jupyter Notebook基础教程——快捷键的使用
点击 阅读原文 ,动手操作
— End —