小编use*_*614的帖子

如何在R中的对称矩阵(12k X 12k)中找到前10,000个元素的索引

我有一个非零对称矩阵'matr',即12000X12000.我需要找到R中'matr'中前10000个元素的索引.我写的代码需要很长时间 - 我想知道是否有任何指针可以让它更快.

listk <- numeric(0)
for( i in 1:10000) {
    idx <- which(matr == max(matr), arr.ind=T)
    if( length(idx) != 0) {
        listk <- rbind( listk, idx[1,])
        matr[idx[1,1], idx[1,2]] <- 0
        matr[idx[2,1], idx[2,2]] <- 0
    } 
}
Run Code Online (Sandbox Code Playgroud)

r matrix

9
推荐指数
3
解决办法
3878
查看次数

fnmatch-与将特定类型的文件名与数字匹配相关

我试图列出目录中匹配的所有文件abc_def_[somenumber].json。例如abc_def_001.json可以是一个文件。

import os, re,fnmatch
pattern = 'abc_def_*'
for f in os.listdir('path of folder'):
   if fnmatch.fnmatch(f, pattern):
      print f
Run Code Online (Sandbox Code Playgroud)

但这并不完全准确,因为它吐出"abc_def_comparison_001.json"。我试过

pattern = 'abc_def_[0-9*]'
Run Code Online (Sandbox Code Playgroud)

但这也不太有效。有任何想法吗?

python regex

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

我将如何在熊猫中选择匹配字符串列表的行,而不仅仅是一个特定的字符串?

假设我们有一个 dataframe-df 和一个标记为“A”的列。对于选择匹配一个字符串 -'some_string' 的行,df['A'].str.contains('some_string') 效果很好。

我的问题是,是否有相应的方法传递给包含字符串列表,以便可以获得部分匹配?我可以给它一个字符串列表而不是 'some_string' 吗?我试图避免使用 for 循环和切片数据帧并连接到一个新的数据帧。

假设数据框是

pd.DataFrame(np.array([['cat', 2], ['rat', 5], ['ball', 8],['string', 8]]),columns=['A', 'B']))
Run Code Online (Sandbox Code Playgroud)

list =['at','ll','ac']
Run Code Online (Sandbox Code Playgroud)

所以我想选择带有猫、老鼠、球的行。对不起,人为设计的例子。

python pandas

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

标签 统计

python ×2

matrix ×1

pandas ×1

r ×1

regex ×1