如何从特定函数创建指定形状的ndarray Array2?以12×12乘法表为例
创建指定形状的ndarray及生成12×12乘法表示例
一、创建指定形状ndarray的常用函数
numpy.zeros():生成全0数组,示例:np.zeros((3,4))得到3行4列的全0数组numpy.ones():生成全1数组,用法与zeros一致numpy.full():生成指定填充值的数组,示例:np.full((2,3), 5)得到2行3列全为5的数组numpy.eye():生成单位矩阵,示例:np.eye(4)得到4×4的单位矩阵numpy.arange()+reshape():先生成一维序列再重塑形状,示例:np.arange(12).reshape(3,4)得到3行4列的连续整数数组
二、生成12×12乘法表的实现方法
利用numpy的广播特性可以高效生成乘法表,无需嵌套循环:
方法一:数组转置+广播相乘
import numpy as np # 生成1到12的一维数组 row = np.arange(1, 13) # 将数组转为列向量,触发广播机制 col = np.arange(1, 13).reshape(-1, 1) # 元素级相乘得到乘法表 multiplication_table = row * col
方法二:使用meshgrid生成网格矩阵
import numpy as np # 生成对应的二维网格矩阵 x, y = np.meshgrid(np.arange(1,13), np.arange(1,13)) # 网格矩阵元素相乘得到乘法表 multiplication_table = x * y
两种方法生成的结果一致,比如multiplication_table[3,5]会返回4×6=24,完全符合乘法表规则。
内容的提问来源于stack exchange,提问作者Test
相关产品推荐
相关产品推荐

