草庐IT

math-functions

全部标签

python : creating dynamic functions

我有问题,我想创建动态函数,它会根据从数据库中检索到的值进行一些计算,我很清楚我的内部计算,但对如何创建动态类有疑问:我的结构是这样的:classxyz:defProject():start=2011-01-03defPhase1():effort='2d'defPhase2():effort='3d'defPhase3():effort='4d'现在想动态生成所有PhaseX()函数,所以任何人都可以建议我如何使用Python代码实现这样的事情等待正面回复问候谢谢你 最佳答案 与closures.defmakefunc(val):

python - 类型错误 : 'function' object has no attribute '__getitem__'

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。用python编写一些代码来评估一个基本函数。我有一个包含一些值的二维数组,我想将函数应用于每个值并获得一个新的二维数组:importnumpyasNdefmakeGrid(dim):'''Functiontoreturnagridofdistancesfromthecentreofanarray.Thisversionusesloopstofillthe

python - Cython 中神奇的 libc.math.abs

cython如何设法从libc.math中cimportabsfromlibc.mathcimportabs如果不存在呢?>grepabsCython/Includes/libc/math.pxd我什至尝试删除该文件中的所有内容(我得到一个0长度的math.pxd)但它设法以某种方式在那里找到abs。更新这是我关于cython的第三个问题:在firstquestion我发现libcpp.complex写得不太正确,@axil在cythongithubrepo中提出了一个问题,然后用我的修复程序提出了一个拉取请求,替换了大约20%的complex.pyd行。因此,cython用户不时查看

python - 在 python 中,对于标量,math.acos() 是否比 numpy.arccos() 快?

我正在使用Python进行一些科学计算,其中包含大量几何计算,我发现使用numpy与使用标准math库之间存在显着差异。>>>x=timeit.Timer('v=np.arccos(a)','importnumpyasnp;a=0.6')>>>x.timeit(100000)0.15387153439223766>>>y=timeit.Timer('v=math.acos(a)','importmath;a=0.6')>>>y.timeit(100000)0.012333301827311516这超过了10倍的加速!我将numpy用于几乎所有标准数学函数,我只是假设它经过优化并且至少与

python - 同情 : creating a numpy function from diagonal matrix that takes a numpy array

基于我发现的示例here,我正在尝试从使用sumpy.diag创建的对角矩阵创建函数myM=Matrix([[x1,4,4],[4,x2,4],[4,4,x3]])例如,这是使用此例程创建的:importsympyasspimportnumpyasnpx1=sp.Symbol('x1')x2=sp.Symbol('x2')x3=sp.Symbol('x3')X=sp.Matrix([x1,x2,x3])myM=4*sp.ones(3,3)sp.diag(*X)+myM-sp.diag(*np.diag(myM))现在我想创建一个函数,使用ufuncify的lambdify,它采用num

python - math.py 和 sys.py 在哪里?

我在Python33/Lib中找到了所有其他模块,但我找不到这些。我敢肯定还有其他人也“失踪”了,但这些是我唯一注意到的。当我导入它们时它们工作得很好,我只是找不到它们。我检查了sys.path并且它们不在其中。它们是内置的还是什么? 最佳答案 math和sys模块是内置的——为了提高速度,它们是用C语言编写的,并直接合并到Python解释器中。要获取所有内置函数的完整列表,您可以运行:>>>importsys>>>sys.builtin_module_names在我的机器上,结果如下:__builtin____main___ast

python Pandas : Passing Multiple Functions to agg() with Arguments

我正在努力弄清楚如何为pandas的dataframe.agg()函数组合两种不同的语法。以这个简单的数据框为例:df=pd.DataFrame({'A':['group1','group1','group2','group2','group3','group3'],'B':[10,12,10,25,10,12],'C':[100,102,100,250,100,102]})>>>df[output]ABC0group1101001group1121022group2101003group2252504group3101005group312102我知道您可以将两个函数发送到agg()

python - pytest : Classes vs plain functions 中的分组测试

我正在使用pytest来测试我的应用程序。pytest支持两种编写测试的方法(据我所知):在类里面:test_feature.py->classTestFeature->deftest_feature_sanity在函数中:test_feature.py->deftest_feature_sanity是否需要在一个类中对测试进行分组的方法?是否允许向后移植unittest内置模块?您认为哪种方法更好,为什么? 最佳答案 这个答案展示了pytest中TestClass的两个引人注目的用例:属于给定类的多个测试方法的联合参数化。通过子类

python - 大量的 math.sqrt() 和 math.pow() 中的不准确性来自哪里?

这个问题在这里已经有了答案:Whyismath.sqrt()incorrectforlargenumbers?(4个答案)Isfloatingpointmathbroken?(31个答案)关闭4年前。如果你取一个数,求它的平方根,去掉小数点,然后求它的二次方,结果应该总是小于或等于原数。这似乎在python中成立,直到您出于某种原因在99999999999999975425上尝试它。importmathdefcheck(n):assertmath.pow(math.floor(math.sqrt(n)),2)它看起来像math.pow(math.floor(math.sqrt(9999

python - 使用求幂 **0.5 比 math.sqrt 效率低?

引自“PythonProgramming:AnIntroductiontoComputerScience”Wecouldhavetakenthesquarerootusingexponentiation**.Usingmath.sqrtissomewhatmoreefficient.“有点”,但程度如何,如何? 最佳答案 理论上,hammar'sanswer和duffymo'sanswer是很好的猜测。但实际上,在我的机器上,它并不更有效率:>>>importtimeit>>>timeit.timeit(stmt='[n**0.5f