小编rie*_*gue的帖子

使用广播 Julia 将向量的向量转换为矩阵

我是一个朱莉娅新手,有一个婴儿作业要编写一个将向量的向量转换为矩阵的函数。通过迭代元素,这很容易做到。

然而,我读到广播往往效率更高。但我不确定如何在这里执行此操作,因为 .= 操作无法工作,因为它会将向量读取为 1 by n 数组,从而尝试在两个不同长度的数组上进行广播。

有办法播吗?

我的代码如下

function vecvec_to_matrix(vecvec)
    dim1 = length(vecvec)
    dim2 = length(vecvec[1])
    my_array = zeros(Int64, dim1, dim2)
    for i in 1:dim1
        for j in 1:dim2
            my_array[i,j] = vecvec[i][j]
        end
    end
    return my_array
end
Run Code Online (Sandbox Code Playgroud)

julia

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

如何在Python中使用Box Pierce Test

在 statsmodels 中我只能找到 Ljung-Box 测试,这显然与 Box-Pierce 测试不同。我将如何在Python中使用盒子刺穿测试?

python statistics statsmodels

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

python id() 函数内部和外部的不同行为

我正在尝试使用 id 来理解 python 中的默认值

def f(x=5000):
    print(id(x))
    x=40000
    print(id(x))
    print()
    

f()

f()
Run Code Online (Sandbox Code Playgroud)

这给出了输出

2187265500336
2187265501488

2187265500336
2187265501488
Run Code Online (Sandbox Code Playgroud)

我明白为什么第一个打印语句是相同的。这是因为默认值 x 是在定义函数时计算的。

然而,在这两种情况下,第二个 print 语句给出相同的 id 让我感到困惑,我在其他地方找不到在线答案。考虑

a=100000
print(id(a))

a=400000
print(id(a))

a=100000
print(id(a))

a=400000
print(id(a))
Run Code Online (Sandbox Code Playgroud)

这给出了输出

2187265558768
2187265558608
2187265559440
2187265558032
Run Code Online (Sandbox Code Playgroud)

是什么造成了这两种情况的差异?在函数内部,当我们在不同的函数调用中重新分配变量时,它会获得相同的 id,但是当我们将变量重新分配为与之前在函数外部相同的值时,不会发生这种情况

编辑回应 @Barmar 的评论和与理解 python id() uniqueness相关的问题。我有点理解,但不完全理解。我现在最好的猜测是(1)内存被保留以供将来使用,如下面示例中的注释(2)中所述,似乎有一些根本原因为什么每次都会将相同的内存分配给 x,即使其他内存也是如此内存已分配。这是因为缓存优化吗?

缓存优化意味着,在人们可能天真地认为应该获得新对象的情况下,并不总是能保证获得新对象,但这并不以任何方式违反 ID 的唯一性保证。像 int 和 str 这样的内置类型可能有一些缓存优化,但它们遵循完全相同的规则:如果它们同时存在,并且它们的 ID 相同,那么它们是同一个对象。

def f(x=5000):
    print(id(x))
    c=23000
    d=12444
    x=40000

    w=23444

    print(id(x))
    print()
    

f()

f()
Run Code Online (Sandbox Code Playgroud)
2187265559440
2187265559376

2187265559440
2187265559376
Run Code Online (Sandbox Code Playgroud)

这里我们分配了几个新变量,但每次重新分配时都会将相同的 id 分配给变量 x。

关于@dont just …

python

0
推荐指数
1
解决办法
109
查看次数

标签 统计

python ×2

julia ×1

statistics ×1

statsmodels ×1