持续更新中,先占个坑 : )
该篇文章记录本人在科研与工程中运用 NumPy 时遇到的一些(细节)知识点/坑。很多内容可能平时不太会注意,也可能在功能实现上没有任何影响,但是出于性能(内存利用与时间)的考虑,这些内容应该值得注意。
以下内容均默认已导入 NumPy 和 PyTorch:
import numpy as np
一、方法 np.array
与 np.asarray
当传入参数均为列表(list)时,两者没有区别,都会开辟一个新的内存空间,产生一个新的 numpy.ndarray。
>>> a = [0, 1, 2, 3]
>>> a
[0, 1, 2, 3]
>>> b = np.array(a)
>>> b
array([0, 1, 2, 3])
>>> c = np.asarray(a)
>>> c
array([0, 1, 2, 3])
当出入的参数是 numpy.ndarray 数组时,np.array
开辟新的内存空间,返回新的 NumPy 数组;np.asarray
原封不动地返回传入的 numpy.ndarray(的引用)。
>>> a = np.array([0, 1, 2, 3])
>>> a
array([0,