1.numpy ndarray对象
1.内部结构

2.创建ndarrar
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

2.numpy的数据类型
1.基本数据类型

2.数据类型对象(dtype)
numpy.dtype(object, align, copy)
- object - 要转换为的数据类型对象
- align - 如果为 true,填充字段使其类似 C 的结构体。
- copy - 复制 dtype 对象 ,如果为 false,则是对内置数据类型对象的引用
3.numpy数组属性
numpy数组的维度称为秩(rank)。每一个线性的数组称为一个轴(axis)。
- axis=0:表示沿着第0轴进行操作,即:对每一列进行操作
-
axis=1:表示沿着第1轴进行操作,即:对每一行进行操作
image.png
4.numpy创建数组
ndarry数组除了试用底层ndarray构造器外,还可以通过以下几种方式来创建。
1.numpy.empty
创建一个指定形状,数据类型且未初始化的数组(元素是随机数)
numpy.empty(shape, dtype = float, order = 'C')

2.numpy.zeros
创建指定大小的数组,数组元素以0填充
numpy.zeros(shape, dtype = float, order = 'C')
3.numpy.ones
创建指定形状的数组,数组元素以1填充
5.numpy从已有的数组创建数组
1.numpy.asarray
numpy.asarray(a, dtype = None, order = None)

2.numpy.frombuffer
用于实现动态数组,numpy.frombuffer接受buffer输入参数,以流的形式读入转化成ndarray对象。
numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)

3.numpy.fromiter
从迭代对象中建立ndarray对象,返回一维数组
numpy.fromiter(iterable, dtype, count=-1)

6.numpy从数值范围内创建数组
numpy包中的使用arange函数创建数值范围并返回ndarrya对象
1.numpy.arange
numpy.arange(start, stop, step, dtype)

2.numpy.linspace
numpy.linspace函数用于创建一个一维数组,数组是一个等差数列构成的。
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

3.numpy.logspace
numpy.logspace函数用于创建一个等比数列

7.切片和索引
1.ndarray数组:
- 索引:通过0-n的下标进行索引
- 切片:通过内置slice函数
2.高级索引 - 整数数组索引
- 布尔索引
- 花式索引
8.numpy广播
广播:是numpy对不同形状(shape)的数组进行数值计算的方式,对数组的算术运算通常在相应的元素上进行。

9.numpy迭代数组
1.numpy.nditer
numpy迭代对象numpy.nditer提供了一种灵活访问一个或者多个数组元素的方式
2.修改元素中的值
nditer对象有另一个可选参数op_flags.默认情况下,nditer将待遍历对象的数组看作是只读对象(read-only),未来在遍历时候修改元素值,必须指定read-write或者write-only模式
10.numpy数组操作
1.修改数组形状

2.翻转数组

3.修改数组维度

4.连接数组

5.分割数组

6.数组元素的添加和删除

11.numpy字符串函数
以下函数用于对dtype未numpy.string_或numpy.unicode_的数组执行向量化字符串操作。这些函数在字符数组类(numpy.char)中定义

12.其他函数
1.数学函数
2.算术函数
3.统计函数
排序、条件刷选函数
13.numpy副本和视图
- 副本:是一个数据的完成靠背。1)python序列的切片操作,调用deepCopy()函数 2)调用ndarray的copy()函数产生一个副本
- 视图:是数据的一个别称或引用。1)numpy的企鹅牌呢擦欧总返回原数据的视图。2)调用ndarray的view()函数产生一个视图
网友评论