小编Fra*_*gas的帖子

如何使用python中的模式文件在sqlite3中创建db文件

我有一个模式文件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等效的命令行工具.

python sqlite python-2.7

5
推荐指数
1
解决办法
3251
查看次数

如何以正确的形式生成Toeplitz矩阵以执行离散卷积?

可以通过Toeplitz矩阵执行离散卷积,如下所示(Wiki文章):

在此输入图像描述

请注意,这与一般Toeplitz矩阵的形式不完全相同,但它经历了各种移位和零填充.

有没有办法在numpy的纯粹的基础上实现这一目标roll,hstack等,即不使用任何for循环?我尝试了各种各样的转变,但我不能真正把它变成上面显示的形式.

python numpy linear-algebra convolution toeplitz

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

打印没有新行python

我已经检查了可能的重复项,但他们并没有为我工作.

我想要做的是旋转一个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)?

python python-2.7

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

散景中可能的更新导致一个奇怪的生成器错误

我的以下代码段正常工作:

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)

服务器更新已针对正在运行此代码的进程进行。散景可能已被更新。我最快的解决方法是什么?还是我缺少一个错误?

python bokeh

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

马尔可夫链转移矩阵的负特征向量

我有以下片段来计算转换矩阵的稳定状态:

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)

如果我理解正确,那么第一列确实是稳定状态.对于我处于消极状态的概率,我没有意义.我错过了什么?

python numpy probability markov-chains linear-algebra

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