正如我所理解的那样,有两种方法可以做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) 我正在使用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)
但是,我没有收到明确或清晰的情节.有一个更好的方法吗?
我正在尝试确定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) 我想使用Emacs作为iPython notebooks/Jupyter Notebook(包ein)的主编辑器.我想问你是否有办法在不需要打开网络浏览器的情况下运行服务器.
我想知道是否有办法重新启动ipython内核而不关闭它,就像笔记本中存在的内核重启功能一样.我试过,%reset
但似乎没有清除进口.
在阅读了如何不按平均评级排序后,我很好奇是否有人对伯努利参数的Wilson分数置信区间的下限进行了Python实现?
我正在运行Ubuntu 11.04.我安装了终结者终端仿真器 0.95和Zsh,版本4.3.15.
我在Zsh里面的键有(众所周知的)问题.至少这些:
我已经尝试过.zshrc的一些配置来解决这个问题,但到目前为止还没有真正有效的方法.也许这与终结者和Zsh的组合有关.我在这个页面上看了2个配置:https://bbs.archlinux.org/viewtopic.php?pid = 428669.
是否有人有类似的配置(特别是终结者和Zsh)并找出需要插入.zshrc以修复密钥设置的内容?
我有一个由员工经理作为键值对的字典:
{'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)
我可以做另一个条件语句来添加下一个级别,但这是错误的方法.我对字典不太熟悉,那么什么是更好的方法呢?
我在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) 有没有办法从Amazon Redshift进行SQL转储?
你可以使用SQL workbench/J客户端吗?
python ×6
algorithm ×2
ipython ×2
ubuntu ×2
amazon-s3 ×1
decorator ×1
dictionary ×1
dump ×1
kernel ×1
matplotlib ×1
matrix ×1
mysql ×1
python-2.7 ×1
ranking ×1
reload ×1
scikit-learn ×1
sql ×1
sql-server ×1
statistics ×1
t-sql ×1
terminator ×1
zsh ×1
zshrc ×1