如何通过对一维nparray中的每个元素应用不同的功能来获得二维nparray?

时间:2019-10-21 18:57:40

标签: python numpy statistics

我有一个长度为n的numpy数组,称为data。对于data中的每个元素,我想应用k个不同的函数(特别是scipy.stats.norm.pdf,其k个均值),并产生一个n x k 2D numpy数组。有没有一种快速的方法可以不遍历data中的所有元素?

我尝试使用循环编写此代码,但我希望它具有更好的性能。尚未在文档中找到有关如何将多个函数应用于一维数组并将其扩展到二维nparray的任何资源。

2 个答案:

答案 0 :(得分:1)

这应该有效,只需将数据替换为您的实际列表即可:

from scipy.stats import norm
import numpy as np
data = [1,2,3]
new_list = list(map(norm.pdf , data))
new_array = np.array([data, new_list])
print(new_array)

输出为

[[1.         2.         3.        ]
 [0.24197072 0.05399097 0.00443185]]

答案 1 :(得分:1)

java.io.IOException: java.io.IOException: Cannot run program "start": CreateProcess error=2, The system cannot find the file specified in <script> at line number 3 BMXAA7837E - An error occured that prevented the TESTURL script for the LP23 launch point from running. java.io.IOException: java.io.IOException: Cannot run program "start": CreateProcess error=2, The system cannot find the file specified in <script> at line number 3 在其参数中被矢量化。您可以简单地做到:

scipy.stats.norm