NumPy 如何构造多维数组

– Start

import numpy as np

# numpy.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)
a = np.array(((1, 2), (3, 4)))  # 元组转数组
a = np.array([[1, 2], [3, 4]])  # 列表转数组


# numpy.zeros(shape, dtype=float, order='C')
# numpy.ones(shape, dtype=None, order='C')
# numpy.empty(shape, dtype=float, order='C')
a = np.zeros((2, 2))  # 初始化所有元素为 0
a = np.ones((2, 2))   # 初始化所有元素为 1
a = np.empty((2, 2))  # 空数组


# numpy.zeros_like(a, dtype=None, order='K', subok=True)
# numpy.ones_like(a, dtype=None, order='K', subok=True)
# numpy.empty_like(a, dtype=None, order='K', subok=True)
x = np.array(((1, 2), (3, 4)))
a = np.zeros_like(x)  # 初始化所有元素为 0, 从 x 获取维度和元素类型
a = np.ones_like(x)   # 初始化所有元素为 1, 从 x 获取维度和元素类型
a = np.empty_like(x)  # 空数组, 从 x 获取维度和元素类型


# numpy.arange([start, ]stop, [step, ]dtype=None)
a = np.arange(4)  # 生成一维数组
a = np.arange(4).reshape((2, 2))  # 先生成一维数组,后变形为二维


# numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
a = np.linspace(0, 5, 10)  # 从 0 到 5 生成跨度相同的 10 数


# eye(N, M=None, k=0, dtype=float, order='C')
a = np.eye(5, 5)


# numpy.random.rand(d0, d1, ..., dn)
# numpy.random.randn(d0, d1, ..., dn)
a = np.random.rand(3, 2)  # 生成 0 - 1 的随机数
a = np.random.randn(3, 2)  # 生成随机数
a = np.random.randint(0, 10)  # 生成随机整数


# numpy.fromfunction(function, shape, **kwargs)
a = np.fromfunction(lambda x, y: 10*x+y, (5, 4), dtype=int)

– 更多参见:NumPy 精萃
– 声 明:转载请注明出处
– Last Updated on 2018-10-21
– Written by ShangBo on 2018-10-21
– End

你可能感兴趣的:(NumPy)