小编D A*_*ams的帖子

Python检查isinstance列表中的任何类型?

我怎么做pythonicly:

var = 7.0
var_is_good = isinstance(var, classinfo1) or isinstance(var, classinfo2) or isinstance(var, classinfo3) or ... or  isinstance(var, classinfoN)
Run Code Online (Sandbox Code Playgroud)

看起来很傻我不能只传入classinfo的列表:

var_is_good = isinstanceofany( var, [classinfo1, classinfo2, ... , classinfoN] )
Run Code Online (Sandbox Code Playgroud)

那么isinstanceofany功能是什么?

python types isinstance

56
推荐指数
4
解决办法
2万
查看次数

我有Numpy 32位还是64位?

如何检查我安装的numpy版本是32位还是64位?

奖励积分适用于脚本内部并且与系统无关的解决方案.

python memory numpy 32bit-64bit

10
推荐指数
2
解决办法
5798
查看次数

在Python中测试数学表达式的等价性

我在Python中有两个字符串,

A m * B s / (A m + C m)
Run Code Online (Sandbox Code Playgroud)

C m * B s / (C m + A m)
Run Code Online (Sandbox Code Playgroud)

它们都是无序集(A,C)和无序集(B)的等价函数.m和s表示可以在相同但不与另一个单元交换的单位.

到目前为止,我正在进行A,B和C的排列,并使用eval和SymPy的==运算符对它们进行测试.这有许多缺点:

  • 对于更复杂的表达式,我必须生成大量的排列(在我的例子中,8个嵌套for循环)
  • 我需要将A,B,C定义为符号,当我不知道我将拥有哪些参数时,这不是最佳的(因此我必须生成所有这些参数 - >非常低效并且弄乱我的变量名称空间)

有没有pythonian方法来测试这种等价?它应该是一个任意的表达式.

python equality sympy mathematical-expressions

8
推荐指数
1
解决办法
1938
查看次数

获取Python Tornado版本?

如何获取我的python Tornado模块版本的当前版本?

使用其他包我可以执行以下操作:

print <modulename>.__version__
Run Code Online (Sandbox Code Playgroud)

来源: 如何检查python模块的版本?

python version tornado

7
推荐指数
1
解决办法
7819
查看次数

Google Drive API 附加文件?

如何使用 API 将内容附加到 Google 云端硬盘中的文件末尾?

我真的必须下载整个内容,然后编辑本地副本,然后再次重新上传整个内容吗?

google-drive-api

5
推荐指数
1
解决办法
2622
查看次数

检查Sympy Expression是否是Nan?

如何检查一个sympy表达式是否评估为nan?

我只需要做这样的事情:

if is_nan( expression ):
    #Do stuff
Run Code Online (Sandbox Code Playgroud)

python nan sympy

5
推荐指数
2
解决办法
551
查看次数

Sympy 解决域上的所有解决方案

对于周期函数,我如何知道sympy我想要某个域上的所有解决方案?

例子:

import sympy
import sympy.parsing.sympy_parser

SympyExpression = sympy.parsing.sympy_parser.parse_expr( 'sin(pi* x)*sin(pi*y)' )
Variables = [sympy.Symbol('x'),sympy.Symbol('y') ]
Zeros = sympy.solve( f = SympyExpression, symbols = Variables )

print Zeros
Run Code Online (Sandbox Code Playgroud)

输出:

 >>>> [{x: 0}, {x: 1}, {y: 0}, {y: 1}]
Run Code Online (Sandbox Code Playgroud)

显然,解决方案是正确的,但并不完整。

如果我想要实域上的所有零怎么办:

-2 < x < 2
-2 < y < 2 
Run Code Online (Sandbox Code Playgroud)

不知何故,如果能获得该域上的所有解决方案就好了:

 x = k -> k in [-2,-1,0,1,2]
 OR
 y = j -> j in [-2,-1,0,1,2]
Run Code Online (Sandbox Code Playgroud)

为了便于说明,我提供了Wolfram Alpha 的链接,它绘制了这个 2D 曲面。

python solver sympy

5
推荐指数
1
解决办法
2302
查看次数

查找列表二进制值的唯一排列,而不会产生所有可能性

原谅我的无知.我目前有一个脑屁,无法找到解决方案.假设我有一份清单[1, 1, 0, 0].我想计算所有四位二进制数,它们恰好有两个1和两个零,如:

['0110', '0011', '0101', '1100', '1010', '1001']
Run Code Online (Sandbox Code Playgroud)

这有效:

from itertools import permutations

set([''.join(x) for x in list(permutations('0011', 4))])
Run Code Online (Sandbox Code Playgroud)

但是这会计算整个排列,然后丢弃副本.意思是,它计算了24次,但我只需要6次[1, 1, 1, 1, 0, 0, 0, 0].如果收集的话,它会更加重要.

这应该很容易,但我无法绕过它.

python permutation

3
推荐指数
1
解决办法
294
查看次数

将切片索引存储为对象

假设我有一个列表列表等......有一定深度:

ExampleNestedObject = numpy.ones(shape = (3,3,3,3,3))
Run Code Online (Sandbox Code Playgroud)

一般来说,我可以通过写作来获得一个元素:

#Let:
#a, b, c, d, e -> are integers

print ExampleNestedObject[a][b][c][d][e]

#numpy also happens to allow:

print ExampleNestedObject[(a,b,c,d,e)]

#python in general allows:

print ExampleNestedObject[a,b,:,d,e]
Run Code Online (Sandbox Code Playgroud)

我的问题是 -> 如何将索引 "a,b,:,d,e" 存储为对象?

SomeSliceChoice = a,b,:,d,e

print ExampleNestedObject[SomeSliceChoice]
Run Code Online (Sandbox Code Playgroud)

python indexing nested numpy

3
推荐指数
1
解决办法
1088
查看次数

使用 SymPy 通过给定点构造符号插值样条

假设我从一些在 R2 上定义的简单数据集开始,如下所示:

DataPointsDomain = [0,1,2,3,4,5]
DataPointsRange =  [3,6,5,7,9,1]
Run Code Online (Sandbox Code Playgroud)

使用 scipy,我可以使用以下内容制作惰性多项式样条:

ScipySplineObject = scipy.interpolate.InterpolatedUnivariateSpline( 
    DataPointsDomain, 
    DataPointsRange, 
    k = 1, )
Run Code Online (Sandbox Code Playgroud)

sympy 中的等效对象是什么?

SympySplineObject = ...???
Run Code Online (Sandbox Code Playgroud)

(我想定义这个对象并在 sympy 对象上进行分析 sympy 操作,例如取积分、导数等...)

python spline curve-fitting sympy

3
推荐指数
1
解决办法
2172
查看次数

python sympy(不等式或关系)到(设置或间隔)

如何从(不等式/关系)对象中获取结果并将其转换为(设置/间隔)对象?

import sympy
import sympy.solvers
#import sympy.solvers.inequalities
from sympy.solvers.inequalities import reduce_rational_inequalities 

x = sympy.Symbol('x')

ExampleInequalities1 = [[x**2 <= 1]]
ResultDomain1 = reduce_rational_inequalities(ExampleInequalities1, x)
print 'ResultDomain1', ResultDomain1
Run Code Online (Sandbox Code Playgroud)

给我:

>>> And(-1 <= x, x <= 1)
Run Code Online (Sandbox Code Playgroud)

上面的结果可以表示为:

>>> sympy.Interval(-1, 1)
Run Code Online (Sandbox Code Playgroud)

这是一个 Sympy Set Interval 对象。(这让我可以使用交集、联合、互补等......)。

如何执行此转换?

python inequality set sympy

2
推荐指数
1
解决办法
247
查看次数