小编use*_*705的帖子

SQLAlchemy过滤in_运算符

我试图对sqlalchemy中的查询进行简单的过滤操作,如下所示:

q = session.query(Genotypes).filter(Genotypes.rsid.in_(inall))
Run Code Online (Sandbox Code Playgroud)

哪里

inall是一个字符串列表基因型映射到一个表:class Genotypes(object):pass

Genotypes.mapper = mapper(Genotypes, kg_table, properties={'rsid': getattr(kg_table.c, 'rs#')})
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎很简单,但是当我通过执行以下操作执行上述查询时出现以下错误q.first():

"sqlalchemy.exc.OperationalError:(OperationalError)太多的SQL变量u'SELECT"随后在1M的项目列表inall 列表.但它们不应该是SQL变量,只是一个列表,其成员资格是过滤条件.

我不正确地进行过滤吗?

(db是sqlite)

python sqlite sqlalchemy

17
推荐指数
2
解决办法
4万
查看次数

R真的很慢矩阵/ data.frame索引选择

我正在选择data.frame的子集g.raw,如下所示:

g.raw <- read.table(gfile,sep=',', header=F, row.names=1) 
snps = intersect(row.names(na.omit(csnp.raw)),row.names(na.omit(esnp.raw))) 
g = g.raw[snps,] 
Run Code Online (Sandbox Code Playgroud)

有用.但是,最后一行非常慢.

g.raw约为18M行,snps约为1M.我意识到这些是非常大的数字,但这看起来像一个简单的操作,并将g读入内存中保存的矩阵/ data.frame不是问题(花了几分钟),而我上面描述的这个操作正在采取小时.

我如何加快速度?我想要的只是缩小g.raw.

谢谢!

r matrix dataframe

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

标签 统计

dataframe ×1

matrix ×1

python ×1

r ×1

sqlalchemy ×1

sqlite ×1