小编Ale*_*mes的帖子

在sqlite3中:将列从一个表复制到另一个表

有关此主题的其他几个stackoverflow查询,但没有一个有令人满意的答案.

我有一个表BeerReviews,它缺少一个列(review_text),另一个表BeerReviewsWithText缺少一个不同的列(brewery_name).否则表行的排序方式相同,所以我想简单地将BeerReviews中的brewery_name列追加到BeerReviewsWithText中.

我将sqlite3发布为:

sqlite3 beer_rewiews_with_text.sqlite
Run Code Online (Sandbox Code Playgroud)

然后我通过以下方式附上啤酒评论表:

attach 'beer_reviews.sqlite' as BR
Run Code Online (Sandbox Code Playgroud)

我通过以下方法向BeerReviewsWithText添加了一个空列:

alter table BeerReviewsWithText add column beer_brewername varchar;
Run Code Online (Sandbox Code Playgroud)

其他多个问题建议使用insert来填充列,但这会向表中添加新行,仅填充beer_brewername列.

insert into BeerReviewsWithText(beer_brewername) select brewery_name from BeerReviews;
Run Code Online (Sandbox Code Playgroud)

相反,更新似乎填充了空值,但是当我运行以下内容(类似于另一个问题的答案)时,所有beer_brewername值都是相同的:

update BeerReviewsWithText set beer_brewername=(select brewery_name from BR.BeerReviews);
Run Code Online (Sandbox Code Playgroud)

这似乎是一种奇怪的行为,因为我在运行时获得了啤酒厂名称的预期列表:

select brewery_name from BR.BeerReviews limit 50;
Run Code Online (Sandbox Code Playgroud)

我是sqlite的新手,所以有人可以解释我做错了什么吗?

sqlite

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

matshow与稀疏矩阵

如何可视化大型稀疏矩阵的稀疏模式?

矩阵太大而不能作为密集阵列放在内存中,所以我用csr_matrix格式.当我尝试使用pylab的matshow时,我收到以下错误:

ValueError:需要多于0个值才能解压缩

思考?

例如:

import pylab as pl
import scipy.sparse as sp
from random import randint

mat = sp.lil_matrix( (4000,3000), dtype='uint8' )
for i in range(1000):
    mat[randint(0,4000),randint(0,3000)] = randint(0,10)

pl.figure()
pl.matshow(mat)
Run Code Online (Sandbox Code Playgroud)

python matplotlib scipy

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

标签 统计

matplotlib ×1

python ×1

scipy ×1

sqlite ×1