小编Jac*_*oge的帖子

2 个时间相关的多维信号(信号向量)的相关性

我有一个矩阵 M1 ,其中每一行都是一个与时间相关的信号。

我还有另一个相同维度的矩阵 M2,其每一行也是一个时间相关信号,用作“模板”,用于识别第一个矩阵中的信号形状。

我想要一个列向量 v,其中 v [i] 是 M1 第 i 行和 M2 第 i 行之间的相关性。

我研究了 numpy 的 corrcoef 函数并尝试了以下代码:

import numpy as np

M1 = np.array ([
    [1, 2, 3, 4],
    [2, 3, 1, 4]
])

M2 = np.array ([
    [10, 20, 30, 40],
    [20, 30, 10, 40]
])

print (np.corrcoef (M1, M2))
Run Code Online (Sandbox Code Playgroud)

打印:

[[ 1.   0.4  1.   0.4]
 [ 0.4  1.   0.4  1. ]
 [ 1.   0.4  1.   0.4]
 [ 0.4  1.   0.4  1. ]] …
Run Code Online (Sandbox Code Playgroud)

python numpy

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

数据类行为的变化

我正在开发Transcrypt Python to JavaScript 编译器的3.7.1 版。发布过程的一部分是出货测试,其中 Transcrypt 与 CPython 背靠背测试。

它曾经在 CPython 3.7 的 beta 版中完美运行,但在发布时出现了问题。

该程序:

from dataclasses import dataclass
from typing import ClassVar

@dataclass
class Test:
    x: ClassVar = 10
    y:  int = 10

t = Test ()

t.x = 20

print (repr (t))
Run Code Online (Sandbox Code Playgroud)

用于打印(使用 CPython):

Test(x=20, y=10)
Run Code Online (Sandbox Code Playgroud)

但是随着它打印的发布(再次仅使用 CPython):

Test(y=10)
Run Code Online (Sandbox Code Playgroud)

所以它从表示中遗漏了类变量 x。谁能告诉我这个改变是否是故意的,我在哪里可以找到证明它合理的讨论?

有了这个变化,Transcrypt 的行为与 CPython 不同,这是我不想要的。所以我想知道我应该采用 Transcrypt 还是应该将其视为 CPython 回归并等待它被解决。

python transcrypt

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

如何强制重新解密本地转加密对象?

Transcrypt 在远程 git 更改上触发,从源提取文件的最新加密版本并在本地解密。

我弄乱了本地密钥,因此解密失败,但加密的转加密相关文件的最新 git 版本仍然存在于我的本地计算机上。

我意识到我的错误并修复了我的本地转加密加密密钥。

现在,Git 认为这些文件是最新版本(与远程源相比),但它们是加密的。Git 和 transcrypt 处于先有鸡还是先有蛋的情况:我无法强制 git 从远程源重新拉取文件,也无法让 transcrypt 重试解密。

我尝试过切换分支,有时确实有效。这并不总是有效,因为与转加密相关的文件在远程分支上不一定不同。我能够将当前分支克隆到新分支中,修改每个加密文件,然后在本地拉取该新分支。这让 Transcrypt 松动了,并且成功了。必须有一种更优雅的方法来做到这一点!

我需要运行什么命令(git 和/或 transcrypt)才能再次解密我的本地文件?

git encryption

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

如何在'while'语句中的'if''elif'语句中压缩'for x in range'语句

我有一个编写数学表的代码,我觉得有可能减少,因为我有三个相同的代码重复,但每个if/elif语句只有略微不同的解决方案.

num=10
x=str(input("Enter Math Operation (+, -, *): "))
while (x != "+" and x != "-" and x != "*"):
    x=str(input("\tEnter Math Operation: "))
    if x=="+":
        for table in range(1,11):
            print(str(num),str(x),table,"=",num+table) 
    elif x=="-":
       for table in range(1,11):
            print(str(num),str(x),table,"=",num-table) 
    elif x=="*":
       for table in range(1,11):
            print(str(num),str(x),table,"=",num*table)
Run Code Online (Sandbox Code Playgroud)

请告诉我如何压缩此代码.

python python-3.x

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

2.5 // 2.0在Python 3.x中返回float而不是int的原理是什么?

2.5 // 2.0返回Python float而不是intPython 3.x 的理由是什么 ?如果它是一个整数值,为什么不把它放在一个类型int对象中呢?

[编辑]

我正在寻找这样一个事实的理由.以这种方式做出的论点是什么?还没找到它们.

[EDIT2]

这种关系floor比"地板划分"这个术语更有问题!

floor(3.5 / 5.5) == 0 (INT)

3.5 // 5.5 == 0.0 (浮动)

还不能辨别出任何逻辑:(

[EDIT3]

来自PEP238:

在统一模型中,整数1应该与浮点数1.0无法区分(除了它的不精确性),并且两者在所有数字上下文中的行为应该相同.

一切都非常好,但像Numpy这样不重要的图书馆在提供花车作为指数时抱怨,即使它们是不可或缺的.所以'难以区分'还不是现实.花了一些时间来寻找与此相关的错误.我很惊讶地了解了它的真实本质//.从文档(对我来说)来说并不是那么明显.

由于我对Python 3.x的设计非常信任,我认为我一定错过了//以这种方式定义的非常明显的理由.但现在我想知道......

python

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

标签 统计

python ×4

encryption ×1

git ×1

numpy ×1

python-3.x ×1

transcrypt ×1