Tag: python

如何生成一个随机的4位数不是从0开始,并有唯一的数字?

这工作得很好,但有时从0开始。 import random numbers = random.sample(range(10), 4) print(''.join(map(str, numbers))) 我发现了很多例子,但是没有一个能保证序列不会以0开始。

如何在Python中设置可变数字的数字格式?

假设我想在前面显示数字123,其中填充零的数量是可变的。 例如,如果我想用5位数字来显示,那么我会有数字= 5给我: 00123 如果我想用6位数字显示,我会有数字= 6给予: 000123 我如何在Python中做到这一点?

pandas:replace数据框中的列值

我试图replace数据框的一列中的值。 列(“女性”)只包含“女性”和“男性”的值。 我已经尝试了以下内容: w['female']['female']='1' w['female']['male']='0' 但收到以前的结果完全相同的副本。 理想情况下,我希望得到一些类似下面的循环元素的输出。 if w['female'] =='female': w['female'] = '1'; else: w['female'] = '0'; 我已经浏览了gotchas文档( http://pandas.pydata.org/pandas-docs/stable/gotchas.html ),但不知道为什么没有发生。 任何帮助将不胜感激。

在同一个图中绘制不同的DataFrame

我有一个多年温度logging的温度文件,格式如下: 2012-04-12,16:13:09,20.6 2012-04-12,17:13:09,20.9 2012-04-12,18:13:09,20.6 2007-05-12,19:13:09,5.4 2007-05-12,20:13:09,20.6 2007-05-12,20:13:09,20.6 2005-08-11,11:13:09,20.6 2005-08-11,11:13:09,17.5 2005-08-13,07:13:09,20.6 2006-04-13,01:13:09,20.6 每年有不同的数字,logging的时间,所以pandas的date时间指标都是不同的。 我想绘制同一图中不同年份的数据进行比较。 X轴是从1月到12月,Y轴是温度。 我应该怎么做呢?

scikit的GridSearch和Python通常不会释放内存

我做了一些奇怪的观察,发现我的GridSearches在几个小时后仍然失败,我最初不知道为什么。 我随着时间的推移对内存使用情况进行了监控,并看到它以几千兆字节(〜6 Gb)开始并持续增长,直到达到最大值时才崩溃。 128 GB的硬件可以采取。 我正在试验随机森林分类大量的文本文件。 为了简单起见 – 弄清楚发生了什么 – 我回到了朴素的贝叶斯。 我正在使用的版本是 Python 3.4.2 scikit-learn 0.15.2 我在GitHub的scikit-issue列表上发现了一些关于这个主题的讨论: https : //github.com/scikit-learn/scikit-learn/issues/565和https://github.com/scikit-learn/scikit -learn /拉/ 770 这听起来像是已经成功解决了! 所以,我正在使用的相关代码是 grid_search = GridSearchCV(pipeline, parameters, n_jobs=1, # cv=5, scoring='roc_auc', verbose=2, pre_dispatch='2*n_jobs', refit=False) # tried both True and False grid_search.fit(X_train, y_train) print('Best score: {0}'.format(grid_search.best_score_)) print('Best parameters set:') 出于好奇,我后来决定通过嵌套for循环来实现网格search的快速和肮脏的方式 for p1 in parameterset1: […]

错误“ValueError:无法在一台PC上格式化date”,在其他PC上运行

我有一个Python脚本,在我的开发电脑上工作得很好。 两者都是具有相同Python版本(2.7.9)的Windows 7。 但是在目标机器上,我得到了一个 ValueError:无法格式化date 该错误似乎来自pywin32模块。 该代码使用由pywin32调用的第三方库: raw = win32com.client.Dispatch("MyLib.MyClass") 然后再失败: acq_time = raw.GetCreationDate() 现在我迷失了为什么这是在我的电脑上,而不是在目标机器上。 两者都有Windows 7的“企业安装”,例如,相同的区域和date时间设置。 有什么问题? 我该如何解决它? 编辑: 看评论。 原因可能是使用了C ++运行时。 我还在调查。 我现在怀疑在pywin32的安装时间里哪个运行时间是重要的。 为什么? 因为我的开发PC上的DependenyWalker说pywin依赖于我的Lotus Notes安装中的MSVCR90.DLL 。 这告诉我,它肯定不是“硬”的联系。 更新30.06.2015: 我错了…现在的问题也发生在我的电脑上。 一些更多的信息。 脚本读取数据文件并将读取的元数据插入到数据库中。 只有旧的文件似乎受到错误的影响,而不是新的(我现在认为这是假设是错误的)。 所以这个想法是到我的开发PC上的初始加载,然后希望这个问题将永远不会再出现新的文件。 如果PC是脚本将运行,它读取的文件在Windows共享驱动器(映射networking驱动器)上。 我没有访问该驱动器,所以我只是将文件复制到我的电脑。 现在要做初始加载,我请求访问上述networking驱动器和BOOM。 这也不能从我的开发工作。 机器从共享驱动器读取时。 这个问题并不总是发生在同一个文件中。 我现在认为它与一个特定的文件无关。 我也在64位的Python 64位电脑上试过。 那里花了更长的时间,直到发生错误。 事实上,一个文件被成功读取,在我的电脑上失败。 我现在认为这是一种记忆问题? 我相信它总是在date行失败,因为所有其他行只是返回null或一个空的string,这不会导致任何问题,完全可能这样的值可以为null。 但是对于这个date,这是一个问题,它不应该是空的,然后错误抛出。 更新编辑: 在我的电脑上,它总是在同一个文件上失败。 单独加载这个文件的效果非常好。 我现在认为这是一种计数器/数字溢出,读取n个文件后,会出现问题。 它与每次运行脚本时加载的文件数量有关,而不是文件本身。 […]

pipe理帮手死亡

我已经安装了Pymacs,rope,ropemode,ropemacs,当我意外地执行pymacs-terminate-services时,我无法保存修改后的缓冲区。 它首先问我 – The Pymacs helper died. Restart it? (yes or no) The Pymacs helper died. Restart it? (yes or no) The Pymacs helper died. Restart it? (yes or no) 。 如果我回答“是”,它会抛出 – Debugger entered–Lisp error: (error "There is no Pymacs helper!") 。 如果我回答“不”,它会抛出: Debugger entered–Lisp error: (error "Python: Traceback (most recent call last): File […]

neo4j与mysql相比的性能(怎么能改进?)

这是一个后续行动, 无法在行动手册中重现/validationgraphics数据库和neo4j中的性能声明 。 我已经更新了设置和testing,不想太多改变原来的问题。 整个故事(包括脚本等)在https://baach.de/Members/jhb/neo4j-performance-compared-to-mysql 简短的版本:当试图validation在“图数据库”书中的性能声明时,我得出以下结果(查询包含n个人的随机数据集,每个数据集有50个朋友): My results for 100k people depth neo4j mysql python 1 0.010 0.000 0.000 2 0.018 0.001 0.000 3 0.538 0.072 0.009 4 22.544 3.600 0.330 5 1269.942 180.143 0.758 “*”:仅限单次运行 My results for 1 million people depth neo4j mysql python 1 0.010 0.000 0.000 2 0.018 0.002 0.000 3 […]

IPython Notebook多个检查点

我看到IPython Notebook有一个菜单项: File > Revert to Checkpoint ,但是这从来不包含我的任何一个笔记本的单个条目。 有没有办法让这个菜单拥有多个检查点? 我找不到有关如何在networking上的任何位置执行此操作的文档。 谢谢。 另外,我把绿箱放在一个亮点。

您在App Engine上使用了哪些方法进行轻量级Pythonunit testing?

我即将开始一些基于Python的大型App Engine项目,我认为在进行unit testing之前,我应该检查Stack Overflow的“人群智慧”。 我想要使​​用一个现有的unit testing框架(基于unittest的自定义运行和扩展),所以像鼻子 , webtest或gaeunit这些“重量级”/“侵入性”的东西似乎并不合适。 在我的世界观中,关键的unit testing是非常轻量级和快速的,在极短的时间内运行,所以我可以不断地运行它们,而不会破坏我的开发节奏(例如,对于不同的项目, 97%左右的20K线项目覆盖率,几十次超快速testing,总体耗时5-7秒,这是一个典型的运行时间,这就是我认为的一个体面的小型快速unit testing套件,testing)。 当然,我还会进行更丰富/更重的testing,一直到用selenium或风车进行集成testing,这不是我所要求的;-) – 我关注这个问题(在我的大部分开发工作中;-)就是小而轻的unit testing,它能轻而易举地覆盖我的代码,而不是更深的代码。 所以我想我所需要的实质上是一组小的,非常轻量级的App Engine子系统模拟 – 数据存储,memcache,请求/响应对象以及对webapp处理程序,用户处理,邮件和c的调用优先顺序。 我还没有find我正在寻找的东西,所以在我看来,我应该依靠mox ,就像我以前经常做的那样,这基本上意味着嘲笑在给定testing中使用的每个子系统,并设置所有的期望&c(每一次都很强,但是很多工作,而且对被testing代码的内部非常敏感,也就是非常“白匣子”),或者滚动我自己的每个子系统的模拟(并且在模拟的子系统上进行断言)作为unit testing的一部分)。 鉴于GAE的Python方面强大的“存根”架构,后者似乎是可行的,但我不敢相信我需要推出我自己的,也就是说,没有人已经写过这么简单的模拟器!)例如,对于数据存储,它看起来像我所需要的或多或less是已经是SDK一部分的“数据存储在文件”存根(stub),另外还有一种方法来标记它是只读和易于使用的访问器,用于断言数据存储的状态; 子系统 – 每个子系统似乎都需要“比SDK中已经存在的多一点”,位于现有“存根”架构的“顶端”。 所以,在深入研究和花费一两天宝贵的开发时间来“单独testing”GAE子系统的模拟来进行unit testing之前,我想我会仔细检查一下SO人群,看看你们是怎么想的。 ..或者,如果已经有一些现有的开放源代码的模拟器集合,我可以简单的重复使用(或者是最小的调整!),而我在search中却没有发现这些东西 – ) 编辑 :澄清,如果我做我自己的,我打算在可行的情况下利用SDK提供的存根(stub) 但是,例如,对于最初从文件读入数据存储区但没有保存在最后的数据存储区,没有存根,因此我需要对现有存储区进行子类化和调整(也不提供特别便利的方法来对其进行断言状态 – 与邮件服务存根相同,等等)。 这就是我所说的“滚动自己的” – 而不是“从头开始改写” – ) 编辑 :“为什么不GAEUnit” – GAEUnit是很好的自己的用例,但运行dev_appserver和在我的浏览器(甚至通过urllib.urlopen)看到的结果是绝对不是我以后 – 我想使用完全自动化的设置,适合在基于扩展unittest的现有的testing运行框架内运行,并且没有HTTP方式(所述框架将“快速”testing定义为除了其他之外没有套接字和最小磁盘I / O – 我们模拟或模拟这些 – 所以通过gaeunit我可以做比“中等”testing没有更好的)+没有方便的方式预先填充每个testing的数据存储(没有OO结构来帮助定制的东西)。