在python3中使用numpy进行数学运算
我有一个在python3中使用numpy进行数学运算,numpy,math,Numpy,Math,我有一个numpy数组,如下示例: 例如: arr = array([[31, 18], [ 27, 9], [21, 20]]) 我想分别得到每个内部列表的平均值 每个内部列表的标准偏差。在这里之前我会 有2个列表(平均值和标准值),每个列表有3个项目(一个 根据arr中的内部列表)。 然后我将乘以std列表中的每一项,然后将其相加 平均值列表和新标准列表逐项列出。所以最后结果是 将是一个包含3项的列表。 以下是示例的步骤: std = [9.192388155
numpy
数组
,如下示例:
例如:
arr = array([[31, 18],
[ 27, 9],
[21, 20]])
我想分别得到每个内部列表的平均值
每个内部列表的标准偏差
。在这里之前我会
有2个列表(平均值和标准值),每个列表有3个项目(一个
根据arr中的内部列表)。
然后我将乘以std列表中的每一项,然后将其相加
平均值列表和新标准列表逐项列出。所以最后结果是
将是一个包含3项的列表。
以下是示例的步骤:
std = [9.19238815542512, 12.7279220613579, 0.707106781186548]
std2 = [18.3847763108502, 25.4558441227157, 1.4142135623731]
mean = [24.5, 18, 20.5]
以下是预期输出:
final = [42.8847763108502, 43.4558441227157, 21.9142135623731]
为了得到这样的结果,我用python编写了以下代码:
import numpy as np
for item in arr:
mean, std = [np.mean(), np.std()*2]
results = mean + std
但它不会返回预期的输出。您知道如何修复它吗?代码中有两个问题。首先,在没有参数的情况下调用np.mean
,这将导致错误。相反,您希望调用arr.mean(…)
或np.mean(arr,…)
。其次,在循环的每次迭代中,您都要覆盖结果变量。您可能希望在循环之外声明结果数组,并使用list.append
添加到它们中
但是,对于您的问题,Numpy内置了一个专门的解决方案:许多Numpy函数都有一个轴
参数,允许您沿数组的一个轴取平均值
import numpy as np
arr = np.array([[0, 100],
[1, 101],
[2, 102]])
arr.mean(axis=0) # => [1, 101]
arr.mean(1) # => [50, 51, 52]
要知道要使用哪个轴,请记住给定的轴将被删除。因此,对于一个3乘2的数组,在轴0上操作将得到一个长度为2的数组,使用轴1将得到长度为3的数组
Numpy还允许您对相同形状的数组1或数组与数字之间执行元素算术。2
使用这些提示,获得您想要的结果应该非常简单
如果您想了解Numpy特性的详细信息,可以从这里开始
1您还可以将数组添加到列表中,并使用np添加列表。add
。这适用于Numpy认为“类似数组”的任何内容,例如元组
2 Numpy还允许使用its在不同形状的数组之间执行某些操作,但这有点离题。代码中有两个问题。首先,在没有参数的情况下调用np.mean
,这将导致错误。相反,您希望调用arr.mean(…)
或np.mean(arr,…)
。其次,在循环的每次迭代中,您都要覆盖结果变量。您可能希望在循环之外声明结果数组,并使用list.append
添加到它们中
但是,对于您的问题,Numpy内置了一个专门的解决方案:许多Numpy函数都有一个轴
参数,允许您沿数组的一个轴取平均值
import numpy as np
arr = np.array([[0, 100],
[1, 101],
[2, 102]])
arr.mean(axis=0) # => [1, 101]
arr.mean(1) # => [50, 51, 52]
要知道要使用哪个轴,请记住给定的轴将被删除。因此,对于一个3乘2的数组,在轴0上操作将得到一个长度为2的数组,使用轴1将得到长度为3的数组
Numpy还允许您对相同形状的数组1或数组与数字之间执行元素算术。2
使用这些提示,获得您想要的结果应该非常简单
如果您想了解Numpy特性的详细信息,可以从这里开始
1您还可以将数组添加到列表中,并使用np添加列表。add
。这适用于Numpy认为“类似数组”的任何内容,例如元组
2 Numpy还允许使用its在不同形状的数组之间执行某些操作,但这有点离题。如果您考虑尺寸或轴以及形状,您将进一步了解Numpy。你的例子是(3,2)型的。看看函数文档。实验。也应该涵盖这个问题。如果你从尺寸、轴和形状的角度来思考,你会在numpy中得到进一步的了解。你的例子是(3,2)型的。看看函数文档。实验。也应该包括这个问题。