小编Cin*_*hty的帖子

Numpy中的矢量化作业

假设我有一个大的2D numpy数组,例如1000x1000个元素.我还有两个长度为L的1D整数数组,以及一个长度相同的float 1D arrray.如果我想根据整数数组简单地将浮点数分配给原始数组中的不同位置,我可以写:

mat = np.zeros((1000,1000))
int1 = np.random.randint(0,999,size=(50000,))
int2 = np.random.randint(0,999,size=(50000,))
f = np.random.rand(50000)
mat[int1,int2] = f
Run Code Online (Sandbox Code Playgroud)

但是如果存在冲突,即多个浮点数对应于单个位置,则除了最后一个浮点数之外的所有浮点数都将被覆盖.有没有办法以某种方式聚合所有碰撞,例如落在同一位置的所有浮子的平均值或中位数?我想利用矢量化,希望避免解释器循环.

谢谢!

python arrays numpy

9
推荐指数
2
解决办法
406
查看次数

python:"with"语法用于打开具有两个函数的文件

假设我想使用以下语法打开一个文本文件进行阅读:

with open(fname,'r') as f:
    # do something
    pass
Run Code Online (Sandbox Code Playgroud)

但如果我发现它以.gz结尾,我会调用gzip.open().

if fname.endswith('.gz'):
    with gzip.open(fname,'rt') as f:
            # do something
            pass
else:
    with open(fname,'r') as f:
            # do something
            pass
Run Code Online (Sandbox Code Playgroud)

如果"做某事"部分很长并且不方便在函数中写入(例如,它会创建一个无法序列化的嵌套函数),那么使用gzip.open或基于返回的打开来调用最短的方法是什么? fname.endswith( '广州')?

python

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

插入符号中的其他指标 - PPV,敏感性,特异性

我在R中使用插入符号进行逻辑回归:

  ctrl <- trainControl(method = "repeatedcv", number = 10, repeats = 10, 
                       savePredictions = TRUE)

  mod_fit <- train(Y ~ .,  data=df, method="glm", family="binomial",
                   trControl = ctrl)

  print(mod_fit)
Run Code Online (Sandbox Code Playgroud)

打印的默认指标是准确度和Cohen kappa.我想提取匹配的指标,如敏感性,特异性,阳性预测值等,但我找不到一个简单的方法来做到这一点.提供了最终的模型,但它对所有数据进行了训练(据我从文档中可以看出),所以我不能用它来重新预测.

混淆矩阵计算所有必需参数,但将其作为汇总函数传递不起作用:

  ctrl <- trainControl(method = "repeatedcv", number = 10, repeats = 10, 
                       savePredictions = TRUE, summaryFunction = confusionMatrix)

  mod_fit <- train(Y ~ .,  data=df, method="glm", family="binomial",
                   trControl = ctrl)

Error: `data` and `reference` should be factors with the same levels. 
13.
stop("`data` and `reference` should be factors with the same levels.", …
Run Code Online (Sandbox Code Playgroud)

r r-caret

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

在 Python 中的标记化文本中查找多词项

我有一个已标记化的文本,或者一般来说,单词列表也可以。例如:

   >>> from nltk.tokenize import word_tokenize
    >>> s = '''Good muffins cost $3.88\nin New York.  Please buy me
    ... two of them.\n\nThanks.'''
    >>> word_tokenize(s)
        ['Good', 'muffins', 'cost', '$', '3.88', 'in', 'New', 'York', '.',
        'Please', 'buy', 'me', 'two', 'of', 'them', '.', 'Thanks', '.']
Run Code Online (Sandbox Code Playgroud)

如果我有一个包含单个单词和多单词键的 Python 字典,我如何有效且正确地检查它们在文本中的存在?理想的输出是 key:location_in_text 对,或者其他类似的东西。提前致谢!

PS要“正确”解释-如果我的字典中有“租约”,我不希望请标记。此外,需要识别复数。我想知道这是否可以在没有很多 if-else 子句的情况下优雅地解决。

python nlp nltk

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

删除另一个目录中任意深度的目录

我使用find诸如 之类的基本参数-name,但阅读手册并没有帮助我找到任意深度的嵌套文件夹。

具体来说,我想查找(并删除)inputs名为cromwell-executions. 有多个同名的封闭文件夹(但如果相关,则不嵌套),每个inputs文件夹都可以包含多个不同深度的文件夹实例。

我怎样才能做到这一点find

bash find

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

标签 统计

python ×3

arrays ×1

bash ×1

find ×1

nlp ×1

nltk ×1

numpy ×1

r ×1

r-caret ×1