小编pdm*_*pdm的帖子

Python装饰器的最佳实践,使用类vs函数

正如我所理解的那样,有两种方法可以做Python装饰器,既可以使用__call__类,也可以定义函数作为装饰器.这些方法的优点/缺点是什么?有一种首选方法吗?

例1

class dec1(object):
    def __init__(self, f):
        self.f = f
    def __call__(self):
        print "Decorating", self.f.__name__
        self.f()

@dec1
def func1():
    print "inside func1()"

func1()

# Decorating func1
# inside func1()
Run Code Online (Sandbox Code Playgroud)

例2

def dec2(f):
    def new_f():
        print "Decorating", f.__name__
        f()
    return new_f

@dec2
def func2():
    print "inside func2()"

func2()

# Decorating func2
# inside func2()
Run Code Online (Sandbox Code Playgroud)

python decorator syntactic-sugar python-2.7

53
推荐指数
3
解决办法
2万
查看次数

如何绘制混淆矩阵?

我正在使用scikit-learn将文本文档(22000)分类为100个类.我使用scikit-learn的混淆矩阵方法来计算混淆矩阵.

model1 = LogisticRegression()
model1 = model1.fit(matrix, labels)
pred = model1.predict(test_matrix)
cm=metrics.confusion_matrix(test_labels,pred)
print(cm)
plt.imshow(cm, cmap='binary')
Run Code Online (Sandbox Code Playgroud)

这就是我的混淆矩阵的样子:

[[3962  325    0 ...,    0    0    0]
 [ 250 2765    0 ...,    0    0    0]
 [   2    8   17 ...,    0    0    0]
 ..., 
 [   1    6    0 ...,    5    0    0]
 [   1    1    0 ...,    0    0    0]
 [   9    0    0 ...,    0    0    9]]
Run Code Online (Sandbox Code Playgroud)

但是,我没有收到明确或清晰的情节.有一个更好的方法吗?

python matplotlib matrix scikit-learn text-classification

51
推荐指数
3
解决办法
11万
查看次数

为什么elasticsearch不能在Ubuntu 14.04上运行?

我正在尝试确定elasticsearch实例是否正在运行,但它似乎不是:

ubuntu@ubuntu:~$ sudo service elasticsearch status
 * elasticsearch is not running
ubuntu@ubuntu:~$ sudo service elasticsearch start
 * Starting Elasticsearch Server  [ OK ] 
ubuntu@ubuntu:~$ sudo service elasticsearch status
 * elasticsearch is not running
and

ubuntu@ubuntu:~$ sudo /etc/init.d/elasticsearch status
 * elasticsearch is not running
ubuntu@ubuntu:~$ sudo /etc/init.d/elasticsearch start
 * Starting Elasticsearch Server  [ OK ] 
ubuntu@ubuntu:~$ sudo /etc/init.d/elasticsearch status
 * elasticsearch is not running
ubuntu@ubuntu:/etc/elasticsearch# sudo service elasticsearch restart
 * Stopping Elasticsearch Server  [ OK ] 
 * Starting Elasticsearch Server  [ …
Run Code Online (Sandbox Code Playgroud)

ubuntu elasticsearch

39
推荐指数
4
解决办法
3万
查看次数

启动IPython笔记本服务器而不运行Web浏览器?

我想使用Emacs作为iPython notebooks/Jupyter Notebook(包ein)的主编辑器.我想问你是否有办法在不需要打开网络浏览器的情况下运行服务器.

python ipython jupyter-notebook

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

重置ipython内核

我想知道是否有办法重新启动ipython内核而不关闭它,就像笔记本中存在的内核重启功能一样.我试过,%reset但似乎没有清除进口.

python kernel reload ipython

32
推荐指数
3
解决办法
4万
查看次数

Wilson Score Interval的Python实现?

在阅读了如何不按平均评级排序后,我很好奇是否有人对伯努利参数的Wilson分数置信区间的下限进行了Python实现?

python algorithm statistics ranking

29
推荐指数
5
解决办法
8218
查看次数

在终结者终端仿真器中运行Zsh时,修复.zshrc中的键设置(Home/End/Insert/Delete)

我正在运行Ubuntu 11.04.我安装了终结者终端仿真器 0.95和Zsh,版本4.3.15.
我在Zsh里面的键有(众所周知的)问题.至少这些:

  • Home/End,没有任何反应
  • Insert/Delete/PageUp/PageDown:输入"〜"

我已经尝试过.zshrc的一些配置来解决这个问题,但到目前为止还没有真正有效的方法.也许这与终结者和Zsh的组合有关.我在这个页面上看了2个配置:https://bbs.archlinux.org/viewtopic.php?pid = 428669.

是否有人有类似的配置(特别是终结者和Zsh)并找出需要插入.zshrc以修复密钥设置的内容?

ubuntu zsh keyboard-shortcuts zshrc terminator

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

合并字典中的键值对

我有一个由员工经理作为键值对的字典:

{'a': 'b', 'b': 'd', 'c': 'd', 'd': 'f'}
Run Code Online (Sandbox Code Playgroud)

我想用字典来展示各级员工经理(员工的老板,老板的老板,老板老板的老板等)之间的关系.所需的输出是:

{'a': [b,d,f], 'b': [d,f], 'c': [d,f], 'd': [f] }
Run Code Online (Sandbox Code Playgroud)

这是我的尝试,只显示第一级:

for key, value in data.items():
    if (value in data.keys()):
        data[key] = [value]
        data[key].append(data[value])
Run Code Online (Sandbox Code Playgroud)

我可以做另一个条件语句来添加下一个级别,但这是错误的方法.我对字典不太熟悉,那么什么是更好的方法呢?

python algorithm dictionary

20
推荐指数
2
解决办法
521
查看次数

具有多个值的列的TSQL组

我在SQLServer 2008r2中有一个表,如下所示.

示例数据集

我想选择[Fg]列= 1的所有记录,其中每个记录连续按[Id]顺序导入每个[T_Id][N_Id]组合的值2 .

可能存在[Fg]= 2 之前的记录不= 1的情况

可以有任意数量的记录,其值[Fg]= 1,但只有一个记录,其中[Fg]每个记录= 2 [T_Id][N_Id]组合.

因此,对于下面的示例,我想选择带有[Id]s(4,5)和(7,8,9)和(19,20)的记录.

[T_Id]不包括3和4的任何记录.

预期产出

预期产出

示例数据集

DECLARE @Data TABLE ( Id INT IDENTITY (1,1), T_Id INT, N_Id INT, Fg TINYINT )

INSERT INTO @Data
(T_Id, N_Id, Fg)
VALUES
(1, 2, 0), (1, 2, 1), (1, 2, 0), (1, 2, 1), (1, 2, 2), (2, 3, 0), (2, 3, 1), …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-server-2008-r2

13
推荐指数
1
解决办法
718
查看次数

有没有办法从Amazon Redshift进行SQL转储

有没有办法从Amazon Redshift进行SQL转储?

你可以使用SQL workbench/J客户端吗?

mysql sql dump amazon-s3 amazon-redshift

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