小编S.A*_*.A.的帖子

如何使用 IPython %lprun 魔术函数分析类方法

如何分析在函数内部调用的对象的方法?我%lprun在 jupyter 笔记本中使用魔法。请参阅以下ex.py示例文件:

class foo():
    def __init__(self, a=0, n=1):
                self.a=a
                self.n=n

    def compute(self):
        result = 0
        for i in range(self.n):
            result += self.a
        return result 

def my_func():
    a = 1
    n = 1000
    my_foo = foo(a, n)
    result = my_foo.compute()
    print(result)
Run Code Online (Sandbox Code Playgroud)

然后,从我的 jupyter 笔记本,我可以分析my_func

 from ex import my_func

 %lprun -f my_func my_func()
Run Code Online (Sandbox Code Playgroud)

但我无法描述我的compute方法:

from ex import my_func

%lprun -f my_foo.compute my_func()
Run Code Online (Sandbox Code Playgroud)

我想要的甚至可能吗?我必须如何在-f参数中填充类方法才能使其工作?

根据文档,“cProfile 只对显式函数调用进行次数,而不是由于语法而调用的特殊方法”,......所以它应该可以工作。

我发现的一个(可能)相关问题是here

python profiling class ipython jupyter-notebook

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

是否允许将 $ref 与 JSON Schema 中的其他关键字结合使用?

我正在为其中一个开源项目学习 JSON Schema。有一个关于将已经定义的模式与一些附加关键字相结合的问题。

假设我已经定义了一些可以通过参考获得的模式,例如#/definitions/positiveInteger.

现在我想引用该类型并使用其他几个关键字对其进行扩展。例如,我想添加enumor description

是否允许这样做:

{
    "$ref" : "#/definitions/positiveInteger",
    "description" : "This is positive integer with enums",
    "enum" : [ 2, 4, 6, 8 ]
}
Run Code Online (Sandbox Code Playgroud)

或者我必须这样做:

{
    "allOf" : [ { "$ref" : "#/definitions/positiveInteger" } ],
    "description" : "This is positive integer with enums",
    "enum" : [ 2, 4, 6, 8 ]
}
Run Code Online (Sandbox Code Playgroud)

我找不到这方面的正式参考,也不确定验证工具会如何反应。

基本上我在这里有两个问题:

  • enum在第一种情况下,验证关键字是否应该起作用?
  • 如果我在第一种情况下包含像descriptionnext to $reflike 这样的元数据关键字,会不会有任何冲突?

我实际上更喜欢内联$refs 而不是将它们包含在allOf和种类中,但不确定这是否合法。我什至找不到$ref规范中的描述(只有几个例子)。

json jsonschema

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

Python MNE - 从数组中读取脑电图数据

我有以 3D numpy 数组(纪元 * 通道 * 时间点)形式出现的 EEG 数据。时间点是一个包含每个采样时间点的 256 个元素数组(总共 1 秒,频率为 256Hz)。epoch 是一个实验性的试验。

我正在尝试将 numpy 数组导入 Python-MNE ( http://martinos.org/mne/stable/mne-python.html ) 理解的表单中,但我遇到了一些麻烦

首先,我不确定是否应该将这些原始数据作为 RawArray 或 EpochsArray 导入。我用这个尝试了后者:

ch_names = list containing my 64 eeg channel names
allData = 3d numpy array as described above

info = mne.create_info(ch_names, 256, ch_types='eeg')

event_id = 1

#I got this from a tutorial but really unsure what it does and I think this may be the problem
events = np.array([200, event_id])  #I got …
Run Code Online (Sandbox Code Playgroud)

python signal-processing numpy mne-python

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

ggplot2标签:希腊符号和指数项的组合,

我需要标记我的y轴,以便它首先显示"Power"一词,然后是方括号中的表达式:[micro Volt square].

微伏的功率平方

我可以生成我想要的整个标签的单个部分,但是当我想要将它们组合时我会遇到问题:

x <- 1:10; y <- 10:1; z <- data.frame(x,y)
g <- ggplot(z, aes(x,y) + geom_bar(stat='identity')

g + ylab('Power') # No problem
g + ylab(paste('Power [', ']')) #No problem
g + ylab(expression(mu)) # No problem
g + ylab(expression(V^2)) # No problem
Run Code Online (Sandbox Code Playgroud)

但是,这似乎不可能:

g + ylab(paste('Power [', expression(mu), expression(V^2), ']'))
Run Code Online (Sandbox Code Playgroud)

输出不评估表达式(mu和V ^ 2):

ggplot2输出:问题y标签

我哪里错了?paste()命令一般是错误的方法吗?我还看了一下unicode字符(ggplot2 PDF输出中的Unicode字符)......但是这仍然会让我想到如何充分结合所有单个术语.

非常感谢您的帮助!

r ggplot2

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

JSON 模式排除属性(与必需属性相反)

在 JSON 模式中,可以要求对象中的某些键,请参阅此示例,取自json 模式文档

{
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "email": { "type": "string" },
    "address": { "type": "string" },
    "telephone": { "type": "string" }
  },
  "required": ["name", "email"]
}
Run Code Online (Sandbox Code Playgroud)

我需要相反的东西:有没有办法禁止阻止某个键出现在对象中?具体来说,我想防止用户在对象内拥有空键:

{
    "": "some string value"
}
Run Code Online (Sandbox Code Playgroud)

jsonschema

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

.csv 到 .edf 或其他 EEG 读取格式

我正在使用名为 Gtec.NAUTILUS 的 EEG 检测套件,它为我提供 500hz 下 32 个通道的二进制数据。然后数据将转换为 CSV 格式。现在我想使用 python 3.5.1 在 Microsoft Azure 中处理这些数据,但是 MNE 库(用于 EEG 数据分析)无法识别 CSV 文件。MNE 还支持其他格式。( .cnt 、 .edf 、 .bdf 、 .egi 、 .set )其他信息@: http: //martinos.org/mne/stable/manual/io.html#ch-convert

我的主要问题是;- 如何将 csv 文件转换为支持的格式之一?

另外;- 如何将二进制文件转换为 mne 支持的格式之一?(如果上一个问题不可能)

还; - 有人有处理脑电图数据的经验吗?我在数据处理时犯了一个重大错误吗?

注意:我正在 MATLAB 中执行此过程以进行脑电图数据分析,但似乎 microsoft azure 不支持它。因此我正在尝试学习 python 以实现兼容性。

提前致谢。


对于那些有兴趣的人:

来自第三方开发商的免费程序: http: //www.biosemi.com/download.htm

python csv data-conversion azure mne-python

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

找到球体上两点之间的中点

我有一个以radius=1为中心的球体origin=(0, 0, 0)。在这个领域,我有几点我知道的(见图)。现在我想根据这个规则找到新的点:

通过平分球面上两点之间的距离得到一个新点。

在这个例子中(见图),我们可以假设我想找到“FT7”和“FCz”之间的中点。我有“FT7”和“FCz”的 xyz(和球面)坐标。

根据我之前的研究,这可能涉及计算大圆距离……然后找到所得弧上的中点。但我什至不知道如何做到这一点,也不知道这是否是正确的方法。

最后,这个问题可能在某些数学网站上更合适地提出,但我希望有一种计算和直观的方法来解决这个问题。

球体示例图像

math geometry

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