- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
所以我对 python 还很陌生,想知道如何将一个列表中的每个元素与另一个列表中的每个元素相乘,并用这些新元素构建一个矩阵。例如:
如果我有两个列表:
alpha_p_arra = [0.01,0.02,0.03....,0.1],
alpha_b_arra = [0.01,0.02,0.03....,0.2]
类似于图片中的格式,我可以创建一个矩阵,其形状为两个列表(20x10),在这些索引处具有相应的乘积值吗?即:在 (0,0) 处,它将是 0.01*0.01 或在 (1,0) 处,它将是 0.02*0.01。
我不完全确定如何执行此操作,如有任何帮助,我们将不胜感激!
最佳答案
您可以而且应该使用 numpy
进行此计算:
import numpy as np
alpha_p_arra = np.arange(1, 11) / 100
alpha_b_arra = np.arange(1, 21) / 100
res = alpha_p_arra * alpha_b_arra[:, None]
请注意,我们更改了第二个数组的形状,以便 numpy
了解通过 broadcasting 需要什么.
print(res)
的输出:
[[0.0001 0.0002 0.0003 0.0004 0.0005 0.0006 0.0007 0.0008 0.0009 0.001 ]
[0.0002 0.0004 0.0006 0.0008 0.001 0.0012 0.0014 0.0016 0.0018 0.002 ]
[0.0003 0.0006 0.0009 0.0012 0.0015 0.0018 0.0021 0.0024 0.0027 0.003 ]
[0.0004 0.0008 0.0012 0.0016 0.002 0.0024 0.0028 0.0032 0.0036 0.004 ]
[0.0005 0.001 0.0015 0.002 0.0025 0.003 0.0035 0.004 0.0045 0.005 ]
[0.0006 0.0012 0.0018 0.0024 0.003 0.0036 0.0042 0.0048 0.0054 0.006 ]
[0.0007 0.0014 0.0021 0.0028 0.0035 0.0042 0.0049 0.0056 0.0063 0.007 ]
[0.0008 0.0016 0.0024 0.0032 0.004 0.0048 0.0056 0.0064 0.0072 0.008 ]
[0.0009 0.0018 0.0027 0.0036 0.0045 0.0054 0.0063 0.0072 0.0081 0.009 ]
[0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01 ]
[0.0011 0.0022 0.0033 0.0044 0.0055 0.0066 0.0077 0.0088 0.0099 0.011 ]
[0.0012 0.0024 0.0036 0.0048 0.006 0.0072 0.0084 0.0096 0.0108 0.012 ]
[0.0013 0.0026 0.0039 0.0052 0.0065 0.0078 0.0091 0.0104 0.0117 0.013 ]
[0.0014 0.0028 0.0042 0.0056 0.007 0.0084 0.0098 0.0112 0.0126 0.014 ]
[0.0015 0.003 0.0045 0.006 0.0075 0.009 0.0105 0.012 0.0135 0.015 ]
[0.0016 0.0032 0.0048 0.0064 0.008 0.0096 0.0112 0.0128 0.0144 0.016 ]
[0.0017 0.0034 0.0051 0.0068 0.0085 0.0102 0.0119 0.0136 0.0153 0.017 ]
[0.0018 0.0036 0.0054 0.0072 0.009 0.0108 0.0126 0.0144 0.0162 0.018 ]
[0.0019 0.0038 0.0057 0.0076 0.0095 0.0114 0.0133 0.0152 0.0171 0.019 ]
[0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 0.02 ]]
关于python - 如何将两个列表中的所有值相乘并获得相应的矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50426405/
int SIZE = 512; p = new BigInteger(SIZE, 15, new Random()); q = new BigInteger(SIZE, 15, new
我正在寻找一种方法来扩展以下形式的逻辑表达式(在字符串中): “(A或B)和((C和D)或E)” 在Python中生成所有正集的列表,即 ['A and C and D', 'A and E', 'B
我正在从 MySQL 数据库中提取一组数字,并尝试对它们进行一些简单的数学运算来计算要放入发票中的总价格,但 PHP 不配合。我认为这可能是类型强制问题,因此我尝试添加一些 intval 和 floa
给定一个包含多列字典的数据框,我如何将数据框中的键相加和/或相乘以获得一列 A B {"ab":1,
我有 2 个 UIImageView - 一个在底部并显示默认图像(如照片)- 在第二个 UIImageView 上您可以在其中绘制。 我想从两个图像创建一个 UIImage,并将其保存为新图像。 我
我有一项作业,并且我已经写完了前两部分,但我只是不知道如何找到最小的数字。我应该提到它在 jFrame (gui) 中。它应该看起来像这样: 假设我有一个数字列表 (10 5 8 7 4 9),我想知
我是 python 的新手,但是有没有办法将矩阵与 0 和符号相乘?例如,见下文: import sympy as sym import numpy as np teams=np.matrix([[1
让我们为变量赋值: thisIsANumberVariable % +5 #adds 5 to thisIsANumberVariable thisIsANumberVariable [1] 8 th
我正在尝试以下操作: Eigen::SparseMatrix bijection(2 * face_count, 2 * vert_count); /* initialization */ Eigen
我必须创建一个没有 * 或 / 运算符的乘法函数。我已经做了这样的方法。 for(int i=0; i < number1; i++){ result += number2; } System
让我们为变量赋值: thisIsANumberVariable % +5 #adds 5 to thisIsANumberVariable thisIsANumberVariable [1] 8 th
这个问题已经有答案了: Convert String to double in Java (14 个回答) 已关闭 9 年前。 我的代码有问题。所以我知道我不能将我所拥有的乘以字符串,但我真的不知道有
我正在尝试以下操作: Eigen::SparseMatrix bijection(2 * face_count, 2 * vert_count); /* initialization */ Eigen
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我需要将矩阵和 vector 相乘。 为了实现这一点,我编写了一个带参数的函数: float** M 尺寸的最大值:m x n。 float* V 长度为 n 的 vector 。 float* R
我正在尝试找出一个好的循环展开来将两个矩阵相乘。 例如,如果我们想要对 NxN 矩阵求和: void SumMatrix(int *M, int n, int *result) { int i,
如果我创建一个像这样的字符串 mutiples=[1,2,3,4,5] 我希望能够使用 .forEach 将它们相乘,我该怎么做?我最好的猜测是: var total=0 multiples=[1,2
我试图将 price(1-3) 标签中的数据乘以 counterValue 以显示所选每个选项的价格 到目前为止,我的代码可以将counterValue 乘以所选选项Btn(1-3) 的因子 被选中
我有两个大小相同的 3-D 数组 a 和 b np.random.seed([3,14159]) a = np.random.randint(10, size=(4, 3, 2)) b = np.ra
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 4 年前。 Improve t
我是一名优秀的程序员,十分优秀!