Questions tagged «python»

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

3
将matplotlib图例移到轴外使其被图框切断
我熟悉以下问题: Matplotlib savefig在图外带有图例 如何将图例排除在情节之外 这些问题的答案似乎很奢侈,它能够摆弄轴的确切收缩,以使图例适合。 但是,缩小轴并不是一个理想的解决方案,因为它会使数据变小,从而实际上更难以解释。特别是当它复杂并且有很多事情要发生时...因此需要一个大的传说 文档中复杂图例的示例说明了此需求,因为其图中的图例实际上完全遮盖了多个数据点。 http://matplotlib.sourceforge.net/users/legend_guide.html#legend-of-complex-plots 我想做的是动态扩展图形框的大小,以适应扩展的图形图例。 import matplotlib.pyplot as plt import numpy as np x = np.arange(-2*np.pi, 2*np.pi, 0.1) fig = plt.figure(1) ax = fig.add_subplot(111) ax.plot(x, np.sin(x), label='Sine') ax.plot(x, np.cos(x), label='Cosine') ax.plot(x, np.arctan(x), label='Inverse tan') lgd = ax.legend(loc=9, bbox_to_anchor=(0.5,0)) ax.grid('on') 请注意,最终标签“ Inverse tan”实际上是如何位于图形框之外的(看起来很不完整-而不是出版物质量!) 最后,有人告诉我这是R和LaTeX中的正常行为,所以我有些困惑,为什么在python中如此困难……是否有历史原因?Matlab在这件事上是否同样贫穷? 我在pastebin http://pastebin.com/grVjc007上有(仅略长)此代码的较长版本

12
bs4.FeatureNotFound:找不到具有您请求的功能的树构建器:lxml。您需要安装解析器库吗?
... soup = BeautifulSoup(html, "lxml") File "/Library/Python/2.7/site-packages/bs4/__init__.py", line 152, in __init__ % ",".join(features)) bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library? 以上输出在我的终端上。我在Mac OS 10.7.x上。我有Python 2.7.1,并按照本教程操作获得了Beautiful Soup和lxml,它们都已成功安装并与位于此处的单独测试文件一起使用。在导致此错误的Python脚本中,我包含以下行: from pageCrawler import comparePages 在pageCrawler文件中,我包含以下两行: from bs4 import BeautifulSoup from urllib2 import …


14
删除Conda环境
我想删除使用conda创建的特定环境。我该如何实现?假设我有一个活跃的testenv环境。我通过遵循文档尝试了: $ conda env remove CondaEnvironmentError: cannot remove current environment. deactivate and run conda remove again 然后我将其停用: $ source deactivate 我尝试再次运行命令将其删除,但仍然出现相同的错误。这是怎么了?
222 python  jupyter  conda 


5
如何制作好的可复制熊猫实例
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 花了相当多的时间看这两个 [R 和 大熊猫在SO上标记,我得到的印象是pandas问题不太可能包含可重复的数据。这是后话了R的群落已经不错了关于鼓励,并感谢像导游这样,新人能得到放在一起,这些例子一些帮助。能够阅读这些指南并获得可复制数据的人通常会很幸运地得到他们问题的答案。 我们如何为pandas问题创建良好的可复制示例?可以将简单的数据框放在一起,例如: import pandas as pd df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice'], 'income': [40000, 50000, 42000]}) 但是许多示例数据集需要更复杂的结构,例如: datetime 索引或数据 多个类别变量(是否存在R的等效expand.grid()函数,该函数产生某些给定变量的所有可能组合?) MultiIndex或Panel数据 对于dput()难以使用几行代码来模拟的数据集,是否有与R等效的功能,可让您生成可复制粘贴的代码来重新生成数据结构?
221 python  pandas 

4
使用python向RESTful API发出请求
我有一个RESTful API,我已经在EC2实例上使用Elasticsearch的实现公开了索引内容的语料库。我可以通过从终端机(MacOSX)运行以下命令来查询搜索: curl -XGET 'http://ES_search_demo.com/document/record/_search?pretty=true' -d '{ "query": { "bool": { "must": [ { "text": { "record.document": "SOME_JOURNAL" } }, { "text": { "record.articleTitle": "farmers" } } ], "must_not": [], "should": [] } }, "from": 0, "size": 50, "sort": [], "facets": {} }' 如何使用python/requests或python/urllib2(不确定要使用哪一个-一直在使用urllib2,但听说请求更好……)将以上转换为API请求?我是否可以通过标题?

30
如何运行Conda?
我安装了Anaconda并可以运行Python,因此我假设我已正确安装了它。按照此介绍性文档,我尝试安装Python v3.3,因此将以下行复制并粘贴到控制台中: conda create -n py33 python=3.3 anaconda 但是,这给了我一个错误: -bash:conda:找不到命令 运行Conda我需要做什么? 我正在Linux系统上工作。
221 python  bash  anaconda  conda 

9
如何模拟请求和响应?
我正在尝试使用Pythons模拟包来模拟Pythons requests模块。使我在以下情况下工作的基本要求是什么? 在我的views.py中,我有一个函数,该函数每次都以不同的响应进行各种request.get()调用 def myview(request): res1 = requests.get('aurl') res2 = request.get('burl') res3 = request.get('curl') 在我的测试类中,我想做这样的事情,但无法找出确切的方法调用 第1步: # Mock the requests module # when mockedRequests.get('aurl') is called then return 'a response' # when mockedRequests.get('burl') is called then return 'b response' # when mockedRequests.get('curl') is called then return 'c response' 第2步: 给我打电话 …
221 python  mocking  request 

11
从数组中删除Nan值
我想弄清楚如何从数组中删除nan值。我的数组看起来像这样: x = [1400, 1500, 1600, nan, nan, nan ,1700] #Not in this exact configuration 如何从中删除nan值x?
221 python  arrays  numpy  nan 

6
将多个功能应用于多个groupby列
该文档展示了如何使用输出列名称作为键的字典一次在groupby对象上应用多个功能: In [563]: grouped['D'].agg({'result1' : np.sum, .....: 'result2' : np.mean}) .....: Out[563]: result2 result1 A bar -0.579846 -1.739537 foo -0.280588 -1.402938 但是,这仅适用于Series groupby对象。同样,当将字典类似地传递到groupby DataFrame时,它期望键是将应用该函数的列名。 我想做的是对多个列应用多个功能(但是某些列将被多次操作)。同样,某些函数将依赖于groupby对象中的其他列(如sumif函数)。我当前的解决方案是逐列进行操作,并使用类似于上面代码的代码,对依赖其他行的函数使用lambda。但这要花很长时间,(我认为花很长时间才能遍历groupby对象)。我必须对其进行更改,以便一次运行即可遍历整个groupby对象,但是我想知道熊猫中是否有内置的方法可以使此操作更加简洁。 例如,我尝试过类似 grouped.agg({'C_sum' : lambda x: x['C'].sum(), 'C_std': lambda x: x['C'].std(), 'D_sum' : lambda x: x['D'].sum()}, 'D_sumifC3': lambda x: x['D'][x['C'] == 3].sum(), ...) 但正如我所料,我收到一个KeyError(因为如果agg从DataFrame调用,则键必须是一列)。 是否有任何内置方法可以执行我想做的事情,或者可能添加了此功能,或者我只需要手动遍历groupby? 谢谢

21
在Python中以编程方式生成视频或动画GIF?
我有一系列要用来创建视频的图像。理想情况下,我可以为每个帧指定帧持续时间,但是固定帧速率也可以。我在wxPython中进行此操作,因此可以渲染到wxDC或将图像保存到文件,例如PNG。是否有Python库可让我从这些帧创建视频(AVI,MPG等)或动画GIF? 编辑:我已经尝试过PIL,它似乎不起作用。有人可以用这个结论纠正我还是建议其他工具箱?这个链接似乎是在备份关于PIL的结论:http : //www.somethinkodd.com/oddthinking/2005/12/06/python-imaging-library-pil-and-animated-gifs/

8
检查字符串是否以列表中的字符串之一结尾
编写以下代码的pythonic方法是什么? extensions = ['.mp3','.avi'] file_name = 'test.mp3' for extension in extensions: if file_name.endswith(extension): #do stuff 我有一个模糊的记忆,for可以避免循环的显式声明,并将其写成if条件。这是真的?
220 python  string  list 

8
如何安装没有root访问权限的python模块?
我正在上一些大学课程,并且得到了“教学帐户”,这是我可以用来从事工作的学校帐户。我想在那台机器上运行需要大量计算的Numpy,matplotlib,scipy代码,但是由于我不是系统管理员,所以无法安装这些模块。 我该如何安装?
220 python  numpy  pip 

27
创建单独变量字典的更简单方法?
我希望能够以字符串的形式获取变量的名称,但是我不知道Python是否具有这么多的自省功能。就像是: >>> print(my_var.__name__) 'my_var' 我想这样做是因为我想将一堆变量变成一个像这样的字典: bar = True foo = False >>> my_dict = dict(bar=bar, foo=foo) >>> print my_dict {'foo': False, 'bar': True} 但是我想要比这更自动的东西。 Python具有locals()和vars(),所以我猜有办法。
220 python  string  variables 

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.