我有一个模式文件myschema.sql和一个在python中mydatabase.db使用的数据库文件sqlite3(特别是python 2.7)我想在我的数据库中生成这个模式.
我知道通过命令行可以执行以下操作
sqlite3 mydatabase.db < myschema.sql
Run Code Online (Sandbox Code Playgroud)
或者我可以执行以下操作,但这可能不适用于所有系统:
import os
os.popen("sqlite3 mydatabase.db < myschema.sql")
Run Code Online (Sandbox Code Playgroud)
这不是我所追求的,因为它可能在某些平台上不起作用.
我还想避免这样的事情:
import sqlite3
schema_str = open("myschema.sql","r").read()
connection = sqlite3.connect("mydatabase.db")
cur = connection.cursor()
list_of_insertions = map(lambda x: x.lstrip().replace("\n"," "),
schema.split(";"))
map(cur.execute, list_of_insertions)
connection.commit()
Run Code Online (Sandbox Code Playgroud)
所以解析文件和单独创建表并不是我想要的,我只是在寻找一个python-sqlite等效的命令行工具.
可以通过Toeplitz矩阵执行离散卷积,如下所示(Wiki文章):
请注意,这与一般Toeplitz矩阵的形式不完全相同,但它经历了各种移位和零填充.
有没有办法在numpy的纯粹的基础上实现这一目标roll,hstack等,即不使用任何for循环?我尝试了各种各样的转变,但我不能真正把它变成上面显示的形式.
我已经检查了可能的重复项,但他们并没有为我工作.
我想要做的是旋转一个numpy数组,我想在终端中看到这个动画:
if __name__ == "__main__":
o = np.ones((10,10))
while True:
for i in xrange(361):
sys.stdout.write(repr(rot_position(o, i)))
Run Code Online (Sandbox Code Playgroud)
尝试打印后跟逗号,它也不起作用.如何使它始终在同一行上打印(适用于python 2.7x)?
我的以下代码段正常工作:
import numpy as np
import bokeh.plotting as bp
from bokeh.models import HoverTool
bp.output_file('test.html')
fig = bp.figure(tools="reset,hover")
x = np.linspace(0,2*np.pi)
y1 = np.sin(x)
y2 = np.cos(x)
s1 = fig.scatter(x=x,y=y1,color='#0000ff',size=10,legend='sine')
s1.select(dict(type=HoverTool)).tooltips = {"x":"$x", "y":"$y"}
s2 = fig.scatter(x=x,y=y2,color='#ff0000',size=10,legend='cosine')
fig.select(dict(type=HoverTool)).tooltips = {"x":"$x", "y":"$y"}
bp.show()
Run Code Online (Sandbox Code Playgroud)
no liine s1.select ...返回一个生成器,并给我以下错误:
AttributeError: 'generator' object has no attribute 'tooltips'
Run Code Online (Sandbox Code Playgroud)
服务器更新已针对正在运行此代码的进程进行。散景可能已被更新。我最快的解决方法是什么?还是我缺少一个错误?
我有以下片段来计算转换矩阵的稳定状态:
import numpy as np
import scipy.linalg as la
if __name__ == "__main__":
P = np.array([[0.5, 0.2 , 0.3, 0],
[0.5, 0 , 0.1 , 0.4],
[0.6, 0.1, 0, 0.3],
[0.5, 0.2, 0.3, 0]])
# Sanity check:
assert np.sum(P, axis=1).all() == 1.0
print la.eig(P,left=True)[1]
Run Code Online (Sandbox Code Playgroud)
它打印:
[[ -8.78275813e-01 -7.07106781e-01 -5.00000000e-01 1.47441956e-01]
[ -2.51874610e-01 -1.58270385e-16 -5.00000000e-01 -2.94883912e-01]
[ -3.50434239e-01 -2.60486675e-16 5.00000000e-01 -5.89767825e-01]
[ -2.05880116e-01 7.07106781e-01 5.00000000e-01 7.37209781e-01]]
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,那么第一列确实是稳定状态.对于我处于消极状态的概率,我没有意义.我错过了什么?