我经常需要创建一个或两个项目彼此不同的词汇.这是我通常做的事情:
setup1 = {'param1': val1,
'param2': val2,
'param3': val3,
'param4': val4,
'paramN': valN}
setup2 = copy.deepcopy(dict(setup1))
setup2.update({'param1': val10,
'param2': val20})
Run Code Online (Sandbox Code Playgroud)
程序中有一个点setup2是相同副本的事实setup1让我感到紧张,因为我担心在程序生命的某个时刻,两条线可能会分开,这对于太多的bug来说是一个滑坡.
理想情况下,我希望能够在一行代码中完成此操作(类似这样):
setup2 = dict(setup1).merge({'param1': val10,
'param2': val20})
Run Code Online (Sandbox Code Playgroud)
当然,我可以使用分号将两个命令压缩到一个物理行中,但这对我来说看起来很难看.还有其他选择吗?
在C++中,您可以通过在子类中将其声明为私有来禁用父类中的函数.如何在Python中完成?IE如何从子公共接口隐藏父功能?
我有一个IPython笔记本,它使用加密的ssh密钥文件通过SSH访问数据.我不想将密码存储在笔记本中(也不是单独的文件中).我可以使用input以便从用户提示读取密码,但在这种情况下,密码在屏幕上可见.有没有办法安全地获取密码?
我正在寻找一种在矩阵行上分别执行聚类的方法,而不是在其列上,重新排序矩阵中的数据以反映聚类并将它们放在一起.聚类问题很容易解决,树形图创建也是如此(例如在本博客或"编程集体智慧"中).但是,如何重新排序数据仍然不清楚.
最后,我正在寻找一种使用朴素Python创建类似下图的方法(使用任何"标准"库,如numpy,matplotlib等,但不使用R或其他外部工具).
树形图http://www2.warwick.ac.uk/fac/sci/moac/currentstudents/peter_cock/r/heatmap/no_scaling.png
澄清
我被问到重新排序是什么意思.当您首先按矩阵行将数据聚类在矩阵中时,然后通过其列,每个矩阵单元可以通过两个树形图中的位置进行标识.如果对原始矩阵的行和列进行重新排序,使得在树形图中彼此靠近的元素在矩阵中彼此靠近,然后生成热图,则数据的聚类对于查看者来说可能变得明显(如上图所示)
ipython的%his命令输出用户输入的最近命令.是否可以在这些命令中搜索?像这样的东西:
[c for c in %history if c.startswith('plot')]
Run Code Online (Sandbox Code Playgroud)
编辑我不是在寻找重新运行命令的方法,而是在历史列表中找到它.当然,有时我会想要在找到命令后重新运行命令,无论是逐字还是修改.
编辑搜索ctr-r然后键入plot会给出以"plot"开头的最新命令.它不会列出以它开头的所有命令.你也不能在命令的中间或末尾搜索
在这里扩展PreludeAndFugue的解决方案我正在寻找:
[l for l in _ih if l.startswith('plot')]
Run Code Online (Sandbox Code Playgroud)
在这里,if条件可以用正则表达式代替
以下代码应该在rpy2中创建热图
import numpy as np
from rpy2.robjects import r
data = np.random.random((10,10))
r.heatmap(data)
Run Code Online (Sandbox Code Playgroud)
但是,它会导致以下错误
Traceback (most recent call last):
File "z.py", line 8, in <module>
labRow=rowNames, labCol=colNames)
File "C:\Python25\lib\site-packages\rpy2\robjects\__init__.py", line 418, in __call__
new_args = [conversion.py2ri(a) for a in args]
File "C:\Python25\lib\site-packages\rpy2\robjects\__init__.py", line 93, in default_py2ri
raise(ValueError("Nothing can be done for the type %s at the moment." %(type(o))))
ValueError: Nothing can be done for the type <type 'numpy.ndarray'> at the moment.
Run Code Online (Sandbox Code Playgroud)
从文档中我了解到r.heatmap需要"一个数字矩阵".如何将np.array转换为所需的数据类型?
我正在寻找一个免费的工具,允许重新安排PDF文档的页面,并在每张纸上组合多个页面.第一部分(重新安排)很容易通过许多工具解决(我使用PyPDF).
问题在于第二个要求:将两个(或更多)页面组合成单个页面.例如,取两页(A和B),旋转它们,缩放并组合成这样的单个页面
------ ------ ------
| | | | | |
| A | | B | | a |
| | | | | |
| | | | ---> ------
| | | | | |
| | | | | b |
| | | | | |
------ ------ ------
Run Code Online (Sandbox Code Playgroud)
该解决方案需要在Linux上运行,最好也在Windows上运行.我正在寻找使用Python或Perl绑定的控制台应用程序或库.
我想创建一个遵循以下布局的人工神经网络(在PyBrain中):

但是,我无法找到实现这一目标的正确方法.我在文档中看到的唯一选项是创建完全连接的层的方法,这不是我想要的:我希望我的一些输入节点连接到第二个隐藏层而不是第一个隐藏层.
哪个更适合为Python程序,内置模块(ConfigParser)或独立项目(ConfigObj)创建设置文件?
python ×9
ipython ×2
r ×2
coding-style ×1
configobj ×1
configparser ×1
inheritance ×1
interface ×1
matplotlib ×1
numpy ×1
pdf ×1
private ×1
pybrain ×1
rpy2 ×1
scipy ×1
ssh ×1
statistics ×1