我碰到亚历Wissner毛和他在他的TED演讲联智能行为理论 在这里.我曾尝试阅读与此相关的学术论文,这与他的演讲有关,但我对数学和物理学的理解力不足以真正了解正在发生的事情,更重要的是,我如何在python中重现这个等式.
有一些独特的熵最大化模型,我发现它是在python中实现的,但我不知道如何设置它们以及它们是否与Wissner-gross的等式相同.
Scipy:MaxEntropy
假设这些方程是Wissner方程的不同形式,并使用上面的库或其他库,我如何设置熵最大化算法.
尤其,
由于浮点数学的性质,.4 * .4= 0.16000000000000003朱莉娅.我希望以0.16CPU高效的方式获得数学上正确的答案.我知道round()有效,但这需要事先了解答案占用的小数位数,因此这不是一般解决方案.
在他们的网站上查看了areelle的文档后,我找到了答案。要检索您需要的数据,您可以使用 arelleCmdLine 导出指定相关数据的 csv,其中 --factListCols 后跟所需数据类型的字符串(以空格分隔)。调用 arelleCmdLine 因操作系统而异。
CmdL = 'Applications/Arelle.app/contents/MacOS/arelleCmdLine'
os.system('%s --file %s --factListCols "Name Value Period" --facts %s') % (CmdL,xmlPth,csvPth)
Run Code Online (Sandbox Code Playgroud)
我试图在 xbrl 文档的“事实列表”中获取事实的“属性”。属性包含“名称”数据(或事实的 GAAP 分类法)和“contextRef”,其中包含日期数据“StartDate”、“endDate”和“instant”。
似乎 Arelle 是我最好的选择;但是,cmdline 实用程序似乎并没有为此查询而削减它,而且 api 文档Here是完全空白的,用于保存源中的文件名。
任何人都能够解释如何加载 xbrl 文档,加载事实表的事实并将这些事实中的数据和元数据提取到列表中。
下面是一些代码来帮助澄清问题。当我尝试打印我认为包含所有事实和元数据的模型元组时,我得到一个空白列表。该代码主要是一个复制和粘贴从CustomLogger.py在arelle包的arelle夹示例英寸 我不确定记录器是如何工作的,但它是必需的,这个例子似乎满足了 Cntlr 对它的要求。
from __future__ import print_function
import sys
sys.path.insert(0, '~/Desktop/Arelle')
from arelle import Cntlr
from arelle import ModelDocument
from arelle import ModelObject as MO
from arelle import ModelInstanceObject as MIO
class CntlrCustomLoggingExample(Cntlr.Cntlr):
def __init__(self):
# no …Run Code Online (Sandbox Code Playgroud) 当我手动将带有表格的网站文本粘贴到 Excel 中时,表格会保留位置和单元格阴影。对像 xlsxwriter 这样的 excel 包进行相同的尝试,只允许我将整个文本粘贴到一个单元格中。有没有解决的办法?
我试图在for循环中的数组中找到一个项目的索引,该循环在数组中从一个项目到另一个项目.是否有内置功能允许我这样做?
dim = 3
length = 10
arrayTuple = fill!(Array(Int64, dim),length)
# [10,10,10]
Arr = fill!(Array(Int64,tuple(arrayTuple...)),1)
for item in Arr
#print the index of node into array here
end
Run Code Online (Sandbox Code Playgroud) 我正在玩朱莉娅的十进制到二进制转换器'bin()',希望提高性能.我需要使用BigInts来解决这个问题,并在我的文件中使用bigInt调用bin()输出正确的二进制表示; 但是,调用类似于bin()函数的函数会花费一分钟的时间,而bin()则需要大约0.003秒.为什么会有这么大的差异?
function binBase(x::Unsigned, pad::Int, neg::Bool)
i = neg + max(pad,sizeof(x)<<3-leading_zeros(x))
a = Array(Uint8,i)
while i > neg
a[i] = '0'+(x&0x1)
x >>= 1
i -= 1
end
if neg; a[1]='-'; end
ASCIIString(a)
end
function bin1(x::BigInt, pad::Int)
y = bin(x)
end
function bin2(x::BigInt, pad::Int,a::Array{Uint8,1}, neg::Bool)
while pad > neg
a[pad] = '0'+(x&0x1)
x >>= 1
pad -= 1
end
if neg; a[1]='-'; end
ASCIIString(a)
end
function test()
a = Array(Uint8,1000001)
x::BigInt= 2
x = (x^1000000)
@time bin1(x,1000001)
@time bin2(x,1000001,a,true)
end …Run Code Online (Sandbox Code Playgroud)