复制和视图
完全不拷贝
>>> a = np.arange(12)
>>> b = a
>>> b is a
True
>>> b.shape = 3,4
>>> a.shape
(3, 4)
>>> def f(x):
print(id(x))
>>> id(a)
2445715670480
>>> f(a)
2445715670480视图view和浅拷贝
>>> c = a.view()
>>> c is a
False
>>> c.base is a
True
>>> c.flags.owndata
False
>>> c.shape = 2,6
>>> a.shape
(3, 4)
>>> c[0,4] = 1234
>>> a
array([[ 0, 1, 2, 3],
[1234, 5, 6, 7],
[ 8, 9, 10, 11]])
>>> #a's shape doesn't change
>>> #a's data chages深复制
>>> d = a.copy()
>>> d is a
False
>>> d.base is a
False
>>> d[0,0] = 9999
>>> a
array([[ 0, 1, 2, 3],
[1234, 5, 6, 7],
[ 8, 9, 10, 11]])函数和方法method总览
创建数组
arange, array, copy, empty, empty_like, eye, fromfile, fromfunction, identity, linspace, logspace, mgrid, ogrid, ones, ones_like, r , zeros, zeros_like 转化
astype, atleast 1d, atleast 2d, atleast 3d, mat 操作
array split, column stack, concatenate, diagonal, dsplit, dstack, hsplit, hstack, item, newaxis, ravel, repeat, reshape, resize, squeeze, swapaxes, take, transpose, vsplit, vstack 询问
all, any, nonzero, where 排序
argmax, argmin, argsort, max, min, ptp, searchsorted, sort 运算
choose, compress, cumprod, cumsum, inner, fill, imag, prod, put, putmask, real, sum 基本统计
cov, mean, std, var 基本线性代数
cross, dot, outer, svd, vdot
本文详细介绍了使用NumPy进行数组操作的方法,包括复制与视图的区别、数组的创建与转换等,并通过实例演示了不同操作的效果。对于理解NumPy数组的行为特征非常有用。

被折叠的 条评论
为什么被折叠?



