Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

5
熊猫DataFrame性能
Pandas确实很棒,但令我惊讶的是,从Pandas.DataFrame中检索值的效率低下。在下面的玩具示例中,即使DataFrame.iloc方法也比字典慢100倍以上。 问题:这里的教训仅仅是字典是查找价值的更好方法吗?是的,我知道那正是他们的目的。但是我只是想知道是否缺少有关DataFrame查找性能的信息。 我意识到这个问题比“提问”更“有趣”,但是我会接受一个提供洞察力或观点的答案。谢谢。 import timeit setup = ''' import numpy, pandas df = pandas.DataFrame(numpy.zeros(shape=[10, 10])) dictionary = df.to_dict() ''' f = ['value = dictionary[5][5]', 'value = df.loc[5, 5]', 'value = df.iloc[5, 5]'] for func in f: print func print min(timeit.Timer(func, setup).repeat(3, 100000)) 值=字典[5] [5] 0.130625009537 值= df.loc [5,5] 19.4681699276 值= …

6
numpy的“智能”对称矩阵
numpy中是否存在一个智能且节省空间的对称矩阵,该矩阵可以自动(透明地)填充[j][i]何时[i][j]写入的位置? import numpy a = numpy.symmetric((3, 3)) a[0][1] = 1 a[1][0] == a[0][1] # True print(a) # [[0 1 0], [1 0 0], [0 0 0]] assert numpy.all(a == a.T) # for any symmetric matrix 自动Hermitian也会很好,尽管在撰写本文时我不需要。
74 python  matrix  numpy 

4
XML解析-ElementTree与SAX和DOM
Python有几种解析XML的方法... 我了解使用SAX解析的基本知识。它具有事件驱动的API,可充当流解析器。 我也了解DOM解析器。它将XML读取到内存中,并将其转换为可以使用Python访问的对象。 一般来说,根据您需要执行的操作,内存限制,性能等,在这两者之间进行选择很容易。 (希望到目前为止我是对的。) 从Python 2.5开始,我们还有ElementTree。与DOM和SAX相比如何?哪个更相似?为什么比以前的解析器更好?
74 python  xml  dom  sax  elementtree 

5
文本处理-Python vs Perl性能[关闭]
这个问题不太可能帮助将来的访客。它仅与较小的地理区域,特定的时间段或极为狭窄的情况(通常不适用于Internet的全球受众)有关。要获得使该问题更广泛适用的帮助,请访问帮助中心。 8年前关闭。 这是我的Perl和Python脚本,可以对大约21个日志文件进行一些简单的文本处理,每个日志文件大约300 KB到1 MB(最大)x重复5次(总共125个文件,由于日志重复了5次)。 Python代码(修改为使用已编译re和using的代码re.I) #!/usr/bin/python import re import fileinput exists_re = re.compile(r'^(.*?) INFO.*Such a record already exists', re.I) location_re = re.compile(r'^AwbLocation (.*?) insert into', re.I) for line in fileinput.input(): fn = fileinput.filename() currline = line.rstrip() mprev = exists_re.search(currline) if(mprev): xlogtime = mprev.group(1) mcurr = location_re.search(currline) if(mcurr): print fn, …

7
何时以及如何在python中使用内置函数property()
在我看来,除了一点语法糖外,property()并没有什么用。 当然,能够编写a.b=2而不是很好a.setB(2),但是隐藏ab = 2不是简单赋值的事实看起来像是麻烦的秘诀,或者是因为可能发生某些意外结果,例如a.b=2实际上导致a.b成为1。或引发异常。还是性能问题。或只是令人困惑。 您能给我一个具体示例以说明用法吗?(用它来修补有问题的代码不计算在内;-)

4
如何防止数字在Python Matplotlib图中更改为指数形式
我在Python中使用Matplotlib绘制简单的xy数据集。这会生成漂亮的图形,尽管当我使用“图形视图”(执行时出现plt.show())在绘图图形的各个部分上“放大”得太近时,x轴值也会从标准数字格式(1050、1060, 1070等)转换为具有指数符号的科学形式(例如x,x轴标记为的1、1.5、2.0 +1.057e3)。 我希望我的图形保留轴的简单编号,而不要使用指数形式。有没有一种方法可以强制Matplotlib执行此操作?

4
定义__eq__的类型是不可散列的吗?
将功能移植到程序的Python 3.1 fork时遇到一个奇怪的错误。我将其缩小为以下假设: 与Python 2.x相比,在Python 3.x中,如果对象具有__eq__方法,则该对象将自动取消哈希。 这是真的? 这是Python 3.1中发生的情况: >>> class O(object): ... def __eq__(self, other): ... return 'whatever' ... >>> o = O() >>> d = {o: 0} Traceback (most recent call last): File "<pyshell#16>", line 1, in <module> d = {o: 0} TypeError: unhashable type: 'O' 后续问题是,如何解决我的个人问题?我有一个对象ChangeTracker,该对象存储一个WeakKeyDictionary指向多个对象的对象,并为每个对象提供过去某个特定时间点的酱菜堆的值。每当检入现有对象时,变更跟踪器都会说出其新的泡菜与旧的泡菜是否相同,因此说明对象在此同时是否发生了变化。问题是,现在我什至无法检查给定的对象是否在库中,因为这使它引发有关该对象不可哈希的异常。(因为它有一种__eq__方法。)如何解决此问题?

6
如何在Python 2.7中设置HTTP代理?
我正在尝试运行安装pip的脚本:get-pip.py,并且由于我的网络位于HTTP代理后面而导致连接超时。有什么方法可以在Python 2.7安装中配置HTTP代理以安装我要安装的内容? 注意:我正在使用Windows。以下是我遇到的错误: C:\SetupFiles>python get-pip.py Downloading/unpacking pip Cannot fetch index base URL http://pypi.python.org/simple/ Could not find any downloads that satisfy the requirement pip No distributions at all found for pip
74 python 

8
如何删除numpy.array中的列
我想删除numpy.array中的选定列。这是我的工作: n [397]: a = array([[ NaN, 2., 3., NaN], .....: [ 1., 2., 3., 9]]) In [398]: print a [[ NaN 2. 3. NaN] [ 1. 2. 3. 9.]] In [399]: z = any(isnan(a), axis=0) In [400]: print z [ True False False True] In [401]: delete(a, z, axis …
74 python  numpy  scipy 

7
什么用Python设置sys.path,何时设置?
当我跑步时 import sys print sys.path 在Mac上(Mac OS X 10.6.5,Python 2.6.1),我得到以下结果。 /Library/Python/2.6/site-packages/ply-3.3-py2.6.egg ... /Library/Python/2.6/site-packages/ipython-0.10.1-py2.6.egg /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6 /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload /Library/Python/2.6/site-packages /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode 它们分为5类。 /Library/Python/2.6/site-packages/*.egg /Library/Python/2.6/site-packages 框架/Python.framework/版本/2.6/lib/python2.6 框架/Python.framework/版本/2.6/Extras/lib/python 来自PYTHONPATH环境变量的PATH。 我可以使用代码添加更多路径 sys.path.insert(0, MORE_PATH) 什么例程设置这些路径,何时设置? 是否有些路径是在python源代码中构建的? 插入'sys.path.insert'的路径是否有可能被忽略?我对此感到很好奇,就像使用mod_wsgi一样,我发现使用sys.path.insert找不到路径。我问了另一个帖子这个问题。 添加 根据迈克尔的回答,我查看了site.py,并获得了以下代码。 def addsitepackages(known_paths): """Add site-packages (and possibly site-python) to sys.path""" sitedirs = …
74 python  path 


5
Django表单-设置标签
我有一个继承自其他2种形式的形式。在我的表单中,我想更改在父表单之一中定义的字段的标签。有谁知道该怎么做? 我正在尝试在自己的服务器中执行此操作__init__,但是它抛出一个错误,指出“'RegistrationFormTOS'对象没有属性'email'”。有人知道我该怎么做吗? 谢谢。 这是我的表单代码: from django import forms from django.utils.translation import ugettext_lazy as _ from registration.forms import RegistrationFormUniqueEmail from registration.forms import RegistrationFormTermsOfService attrs_dict = { 'class': 'required' } class RegistrationFormTOS(RegistrationFormUniqueEmail, RegistrationFormTermsOfService): """ Subclass of ``RegistrationForm`` which adds a required checkbox for agreeing to a site's Terms of Service. """ email2 …

7
在__init__.py中找不到引用“ xxx”-Python / Pycharm
我在皮查姆有一个组织如下的项目: -- Sources |--__init__.py |--Calculators |--__init__.py |--Filters.py |--Controllers |--__init__.py |--FiltersController.py |--Viewers |--__init__.py |--DataVisualization.py |--Models |--__init__.py |--Data 我所有的__init__.py,除了上面的一个合适的来源是空白文件。我收到许多此类警告: 在__init__.py中找不到引用“ xxx” 例如,我的FiltersController .py具有以下代码: import numpy.random as npr bootstrap = npr.choice(image_base.data[max(0, x-2):x+3, max(0, y-2):y+3].flatten(), size=(3, 3), replace=True) 我得到这个警告: 在__init__.py中找不到引用“选择” 我正在想知道这是什么意思,我应该怎么做才能在Python中正确编码。 先感谢您。

7
Anaconda网站包装
在anaconda环境中安装软件包后,我想对该软件包中的代码进行一些更改。 在哪里可以找到site-packages包含已安装软件包的目录?我找不到目录/Users/username/anaconda/lib/python2.7/site-packages

5
为什么在声明时执行Button参数“ command”?
我的代码是: from Tkinter import * admin = Tk() def button(an): print an print 'het' b = Button(admin, text='as', command=button('hey')) b.pack() mainloop() 该按钮不起作用,它在没有我的命令的情况下一次打印了“嘿”和“ het”,然后,当我按下按钮时,什么也没发生。
74 python  tkinter 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.