Python学习札记

基本概念

axis

数组(矩阵)的数轴,几维数组就有几个axis,用于矩阵元素的引索。

操作对象Ndarray

Numpy中定义的最重要的对象是称为ndarray的N维数组类型,它描述相同类型的元素集合。ndarray对象由计算机内存中的一维连续区域组成,ndarray中的每个元素在内存中使用相同大小的块。基本的ndarray是使用NumPy中的数组函数创建的。

数据类型对象dtype

数据类型对象dtype描述了对应于数组固定内存块的解释,包括以下几个方面:

1.数据类型(整数、浮点或者Python对象)。
2.数据大小。
3.字节序(小端或大端)。
4.在结构化类型的情况下,字段的名称,每个字段的数据类型,和每个字段占用的内存块部分。
5.如果数据类型是子序列,它的形状和数据类型。

1
numpy.dtype(object, align, copy)

1.object:被转换为数据类型的对象。
2.align:如果为true,则向字段添加间隔,使其类似C的结构体。
3.copy:生成dtype对象的新副本,如果为false,结果是内建数据类型对象的引用。

1
2
3
4
5
# int8,int16,int32,int64可替换为等价的字符串'i1','i2','i4','i8'
import numpy as np
dt = np.dtype('i8')
print(dt)
# int64

数组属性

ndarray.shape:这一数组属性返回一个包含数组维度的元组,它也可以用于调整数组大小。

1
2
3
4
5
6
7
a = numpy.array([[1, 2, 3], [4, 5, 6]])
a.shape = (3, 2)
#等价a=a.reshape(3,2)
print(a)
# [[1 2]
# [3 4]
# [5 6]]

创建数组

numpy.empty

创建指定形状和dtype的未初始化数组

1
numpy.empty(shape, dtype = float, order = 'C')

numpy.zeros

返回特定大小,以0填充的新数组。

1
numpy.zeros(shape, dtype = float, order = 'C')

numpy.ones

返回特定大小,以1填充的新数组。

1
numpy.ones(shape, dtype = None, order = 'C')

numpy.arange

返回ndarray对象,包含给定范围内的等间隔值。

1
numpy.arange(start, stop, step, dtype)

数组的索引和切片

(未完待续。。。