# 核心概念
Numpy中所有元素都是同样的类型,大小形状已知不可变
Numpy数组类的名字叫ndarray,简称array(和python标准库中的array.array区分开)
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0) # 参数说明 object:用于生成数组的数据对象 dtype:指定类型,可选,不传入将根据序列中元素的类型进行推导。 copy:可选,默认为True,对象被复制。 order:C语言风格(按行)、FORTRAN风格(按列)或A(任意,默认)。 subok:默认情况下,返回的数组被强制为基类数组。 如果为True,则返回子类。 ndmin:指定返回数组的最小维数。 # 重要属性说明 ndarray.ndim:数组的轴数量 ndarray.shape:数组的形状。这是一个整数元组。比如对于n行m列的矩阵,其shape形状就是(n,m)。而shape元组的长度则恰恰是上面的ndim值,也就是轴数。 ndarray.size:数组中所有元素的个数。这恰好等于shape中元素的乘积。 ndarray.dtype:数组中元素的数据类型。除了标准的Python类型,Numpy还提供一些自有的类型。 ndarray.itemsize:元素的字节大小。比如float64类型的itemsize为8(=64/8),而complex32的itemsize为4(=32/8)。 ndarray.data:包含数组实际元素的缓冲区。通常我们不需要使用这个属性,因为我们将使用索引工具访问数组中的元素。 ndarray.flags: 数组对象的一些状态指示或标签np.astype:显式地转换数据类型并作为一个新的数组返回
>>> numeric_string = np.array(['1.23', '-1.20', '33'], dtype=np.string_) >>> numeric_string array([b'1.23', b'-1.20', b'33'], dtype='|S5') >>> int_array = np.arange(4) >>> old = np.array([3.4,2.4,11.3]) >>> new = old.astype(int_array.dtype) >>> old array([ 3.4, 2.4, 11.3]) >>> new array([ 3, 2, 11])预先定义的特殊值
np.nan: 缺失值,或者理解为'不是一个数' # np.isnan() np.pi:圆周率 3.1415926... np.e:自然数e 2.718281828459045...可以通过ndarray.flat属性或者ndarray.eavel()方法平铺数组,这些并不改变数组本身。
reshape不会修改数组本身,但resize会。
← 操作和分隔堆叠 索引:索引数组和布尔索引 →