当前位置: 首页 > 知识库问答 >
问题:

numpy和scipy中的阶乘

祁永嘉
2023-03-14

我怎样才能导入阶乘函数分别从Numpy和sippy为了看看哪一个更快?

我已经通过导入数学从python本身导入了阶乘。但是,它不适用于Numpy和smpy。

共有3个答案

于捷
2023-03-14

SciPy具有函数SciPy。特殊的阶乘(以前为scipy.misc.factorial)

>>> import math
>>> import scipy.special
>>> math.factorial(6)
720
>>> scipy.special.factorial(6)
array(720.0)
萧元徽
2023-03-14

Ashwini的答案很好,因为它指出了scipy。数学阶乘。数学阶乘数学。阶乘是相同的函数。但是,我建议使用Janne提到的scipy。特殊的阶乘是不同的。来自scipy的一个可以接受np。ndarray作为输入,而其他的不能。

In [12]: import scipy.special

In [13]: temp = np.arange(10) # temp is an np.ndarray

In [14]: math.factorial(temp) # This won't work
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-14-039ec0734458> in <module>()
----> 1 math.factorial(temp)

TypeError: only length-1 arrays can be converted to Python scalars

In [15]: scipy.special.factorial(temp) # This works!
Out[15]: 
array([  1.00000000e+00,   1.00000000e+00,   2.00000000e+00,
         6.00000000e+00,   2.40000000e+01,   1.20000000e+02,
         7.20000000e+02,   5.04000000e+03,   4.03200000e+04,
         3.62880000e+05])

所以,如果你对一个np做阶乘。ndarray,来自scipy的一个将比for循环更容易编码和更快。

吕英豪
2023-03-14

您可以这样导入它们:

In [7]: import scipy, numpy, math                                                          

In [8]: scipy.math.factorial, numpy.math.factorial, math.factorial
Out[8]: 
(<function math.factorial>,                                                                
 <function math.factorial>,                                                                
 <function math.factorial>)

scipy。数学阶乘numpy。数学阶乘似乎只是数学的别名/引用。阶乘,即scipy。数学阶乘就是数学。阶乘和numpy。数学阶乘就是数学。阶乘应同时给出

 类似资料:
  • 问题内容: SciPy似乎在其自己的名称空间中提供了NumPy的大多数(但不是全部[1])功能。换句话说,如果有一个名为的函数,几乎可以肯定有一个。在大多数情况下,两者看起来是完全相同的,甚至有时指向相同的功能对象。 有时,它们是不同的。举一个最近出现的例子: 是一个ufunc该返回的NaN为负参数; 返回负参数的复杂值,并且似乎不是ufunc。 同样可以说,大约,和,但不是关于[2]。 另一方面

  • 问题内容: 我想使用功能生成视频。 我已按照此处和此处的说明进行操作。 现在,我可以通过以下过程来构建函数: 第1步 触发实例并以root身份在其上运行: 第2步 我将生成的tarball压缩到笔记本电脑中。然后运行此脚本以构建一个zip存档。 目前,脚本仅是测试以查看堆栈是否正常的测试: 第三步 然后,我将生成的归档文件上传到S3作为我的函数的来源。当我测试功能时,我得到以下信息: 我不明白为什

  • 我试图在我正在分发的包中创建所需的库。它需要SciPy和NumPy库。在开发过程中,我使用 它安装了SciPy 0.9。0和NumPy 1.5。1,而且效果很好。 我想使用-执行同样的操作,以便能够在设置中指定依赖项。我自己的包裹。 问题是,当我尝试时: 它很好用。 但是 惨败 我如何让它工作?

  • 问题内容: 我正在尝试在要分发的程序包中创建所需的库。它需要SciPy和NumPy库。在开发过程中,我同时使用 它安装了SciPy 0.9.0和NumPy 1.5.1,并且运行良好。 我想使用-做同样的事情,以便能够在我自己的包的setup.py中指定依赖项。 问题是,当我尝试: 它工作正常。 但是之后 惨败 我该如何工作? 问题答案: 我假设我的回答是Linux经验。我发现要顺利进行有三个先决条

  • 译者:cangyunye 作者: Adam Paszke 修订者: Adam Dziedzic 在这个教程里,我们要完成两个任务: 创建一个无参神经网络层。 这里需要调用numpy作为实现的一部分。 创建一个权重自主优化的伸进网络层。 这里需要调用Scipy作为实现的一部分。 import torch from torch.autograd import Function 无参数示例 这一层并

  • 问题内容: 他们似乎都 非常 相似,我很好奇哪个软件包对财务数据分析更有利。 问题答案: 熊猫提供了基于NumPy构建的高级数据处理工具。NumPy本身是一个相当底层的工具,类似于MATLAB。另一方面,pandas提供了丰富的时间序列功能,数据对齐,对NA友好的统计信息,groupby,合并和联接方法以及许多其他便利。近年来,它在金融应用中变得非常流行。我的下一本书将专门讨论使用熊猫进行财务数据