小编cts*_*cts的帖子

如何在python多处理池apply_async中使用关键字参数

我正试图掌握pythons多处理模块,特别是apply_async方法Pool.我正在尝试使用参数和关键字参数调用函数.如果我在没有kwargs的情况下调用函数就可以了,但是当我尝试添加一个关键字参数时,我得到: TypeError: apply_async() got an unexpected keyword argument 'arg2' 下面是我正在运行的测试代码

#!/usr/bin/env python
import multiprocessing
from time import sleep
def test(arg1, arg2=1, arg3=2):
    sleep(5)

if __name__ == '__main__':
    pool = multiprocessing.Pool()
    for t in range(1000):
        pool.apply_async(test, t, arg2=5)
    pool.close()
    pool.join()
Run Code Online (Sandbox Code Playgroud)

如何调用该函数以使其接受关键​​字参数?

python multiprocessing threadpool

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

如何在调用ladderize函数后在APE中获得正确的tip标签顺序

我正在尝试根据系统发育树中的尖端标签来排序数据帧的行.我要这样做的方法是使用match类似于这个问题的答案的函数,但是我被卡住了因为如果你使用函数重新排序节点tip.label,apephylo对象的属性不会改变ladderize.

library(ape)
tree <- read.tree(text = "(((A,B),(C,D)),E);")
tree2 <- ladderize(tree, right = FALSE)
tree$tip.label
#> [1] "A" "B" "C" "D" "E"
tree2$tip.label
#> [1] "A" "B" "C" "D" "E"
Run Code Online (Sandbox Code Playgroud)

请注意,tip.label即使树的可视化表示没有改变,它的顺序也没有改变.在这个简单的例子中,ladderize函数之后树的视觉顺序是E A B C D(在绘图后从树的底部到顶部读取).如何获取tip.label向量的副本,其中顺序反映树中节点的新顺序?

r phylogeny

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

在R DBI中将参数传递给查询的正确方法

在perl/python中,DBI API有一种机制可以在参数中安全地插入sql查询.例如在python中我会这样做:

cursor.execute("SELECT * FROM table WHERE value > ?", (5,))    
Run Code Online (Sandbox Code Playgroud)

其中execute方法的第二个参数是要添加到sql查询中的参数元组

R的DBI兼容API是否有类似的机制?我见过的例子从未显示传递给查询的参数.如果不是,在参数中插入查询最安全的方法是什么?我特意看着使用RPostgresSQL.

r rpostgresql r-dbi

8
推荐指数
2
解决办法
1811
查看次数

如何在没有评估的情况下在dplyr select中传递列名

我正在尝试以编程方式将列名称传递给函数,以便可以在dplyr中选择它们.列名称会有所不同,所以我尝试使用select函数的标准评估版本select_.列名称本身有点搞笑,因为它们包含+-字符,我认为这会导致问题.下面是一个复制错误的简单示例.

library(tibble)
library(dplyr)
data <- data_frame(target_id = 'xyz',
                   `CH4+Sulfate-1` = 1.2, 
                   `CH4+Sulfate-2` = 2, 
                   `CH4+Sulfate-3` = 3)
columns <- c('CH4+Sulfate-1', 'CH4+Sulfate-2', 'CH4+Sulfate-3')
select_(data, .dots = columns)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

Error in eval(expr, envir, enclos) : object 'CH4' not found
Run Code Online (Sandbox Code Playgroud)

这让我相信这些名字正在被评估,而不是被视为字符串.如何在不重命名表的列的情况下解决此问题?

r dplyr

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

在 Pharo smalltalk 中谈论一段字符串

我有一个字符串,我希望能够从它的中间取出一个子字符串。例如,对于字符串 'abcdefg' 我想得到 'cde'(但确切的开始和停止可能是任意的)。我已经找到allButFirst:allButLast:发送消息,因此我可以分两步完成,例如

str := 'abcdefg'
(str allButFirst: 2) allButLast: 2
Run Code Online (Sandbox Code Playgroud)

但我期待有一条消息。我也尝试过使用from:to:(这对我来说很天真),但这不适用于 string 类。

Pharo 9 Smalltalk 中是否有一条消息可以获取子字符串的开始和停止或开始和长度?

smalltalk pharo

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

在 Pharo Smalltalk 中以编程方式创建和删除类

我正在尝试从存储在 JSON 文件中的外部定义创建类。我可以使用如下消息轻松创建一个类:

name := 'SomeNewClass'
Object subclass: name asSymbol
       instanceVariableNames: ''
       classVariableNames: ''
       package: 'SomeNew-Package'.
Run Code Online (Sandbox Code Playgroud)

第一个工作正常,但是如果我再次运行我的代码,它会失败,因为该类已经存在。我一直在寻找,但我不知道如何检查类是否存在,如果存在则将其删除?

smalltalk pharo

3
推荐指数
2
解决办法
152
查看次数

在 Pharo Smalltalk 中初始化类变量

我在 Pharo 中初始化类变量时遇到问题。我首先创建一个具有单个类变量的类:

Object subclass: #ClassVariableTestBehavior
    instanceVariableNames: ''
    classVariableNames: 'test'
    package: 'DummyPackage'
Run Code Online (Sandbox Code Playgroud)

然后在课堂上,我创建了initialize一条消息并将变量设置为 nil。

ClassVariableTestBehavior class >>> initialize
    test := nil
Run Code Online (Sandbox Code Playgroud)

我保存然后创建了一个实例方法:

ClassVariableTestBehavior >>> test
    ^ test
Run Code Online (Sandbox Code Playgroud)

并再次返回并将类方法更改为:

ClassVariableTestBehavior class >>> initialize
    test := 34
Run Code Online (Sandbox Code Playgroud)

然后在操场上,我打印了以下结果:

ClassVariableTestBehavior new test.
Run Code Online (Sandbox Code Playgroud)

这是nil. 为什么类变量的值没有更新为 34?

smalltalk pharo

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

如何在 Pharo 中用新行编写字符串文字

如何在 Pharo 9 中编写带有换行符的字符串文字?我尝试了以下操作,但他们都没有插入新行:

a := 'paragraph1\n\nparagraph2'.
a := 'paragraph1\\n\\nparagraph2'.
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一方法是通过像这样的串联:

a := 'paragraph' , 
     (String with: Character cr with: Character cr),
     'new paragraph' , 
     (String with: Character cr with: Character cr)
Run Code Online (Sandbox Code Playgroud)

有没有更简单(更短)的方法来做到这一点?

smalltalk pharo

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

numpy合并上下三角形

我基本上想做这个问题的反面.我已经分裂有两个矩阵np.tril或者np.triu,我想他们重新组合成一个矩阵.

A = array([[ 0. ,  0. ,  0. ],
           [ 0.1,  0. ,  0. ],
           [ 0.6,  0.5,  0. ]])

B = array([[ 0. ,  0.4,  0.8],
           [ 0. ,  0. ,  0.3],
           [ 0. ,  0. ,  0. ]])
Run Code Online (Sandbox Code Playgroud)

而我希望它看起来像是

array([[ 0. ,  0.4,  0.8],
       [ 0.1,  0. ,  0.3],
       [ 0.6,  0.5,  0. ]])
Run Code Online (Sandbox Code Playgroud)

是否有一个内置的numpy函数来做到这一点?

python numpy matrix

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