Questions tagged «python»

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

12
x和y数组点的笛卡尔积变成2D点的单个数组
我有两个numpy数组,它们定义了网格的x和y轴。例如: x = numpy.array([1,2,3]) y = numpy.array([4,5]) 我想生成这些数组的笛卡尔积以生成: array([[1,4],[2,4],[3,4],[1,5],[2,5],[3,5]]) 在某种程度上,这并不是非常低效的,因为我需要循环执行多次。我假设将它们转换为Python列表并使用itertools.product并返回到numpy数组并不是最有效的形式。

6
Python列表迭代器行为和next(iterator)
考虑: >>> lst = iter([1,2,3]) >>> next(lst) 1 >>> next(lst) 2 因此,按预期方式,通过更改同一对象来处理迭代器。 在这种情况下,我希望: a = iter(list(range(10))) for i in a: print(i) next(a) 跳过每第二个元素:对的调用next应使迭代器前进一次,然后循环进行的隐式调用应使它第二次前进-并将第二次调用的结果分配给i。 没有。该循环将打印列表中的所有项目,而不会跳过任何项目。 我的第一个想法是,可能会发生这种情况,因为循环会调用iter它所传递的内容,并且这可能会提供一个独立的迭代器-事实并非如此iter(a) is a。 那么,为什么next在这种情况下似乎不推进迭代器呢?

4
我如何告诉Matplotlib创建第二个(新的)图,然后在旧的图上进行更新?
我想绘制数据,然后创建一个新图形并绘制数据2,最后回到原始绘制并绘制数据3,有点像这样: import numpy as np import matplotlib as plt x = arange(5) y = np.exp(5) plt.figure() plt.plot(x, y) z = np.sin(x) plt.figure() plt.plot(x, z) w = np.cos(x) plt.figure("""first figure""") # Here's the part I need plt.plot(x, w) 仅供参考,我如何告诉matplotlib我已经完成了一个情节?做类似的事情,但不完全相同!它并不允许我访问该原始图。

6
将namedtuple转换成字典
我在python中有一个命名的tuple类 class Town(collections.namedtuple('Town', [ 'name', 'population', 'coordinates', 'population', 'capital', 'state_bird'])): # ... 我想将Town实例转换成字典。我不希望它与城镇中字段的名称或数量严格相关。 有没有一种方法可以编写它,以便我可以添加更多字段,或者传入完全不同的命名元组并获得字典。 我无法更改其他人代码中的原始类定义。因此,我需要以一个Town实例为例,并将其转换为字典。

4
python pandas:将带有参数的函数应用于一系列
我想将带有参数的函数应用于python pandas中的系列: x = my_series.apply(my_function, more_arguments_1) y = my_series.apply(my_function, more_arguments_2) ... 该文档描述了对apply方法的支持,但不接受任何参数。是否存在接受参数的其他方法?另外,我是否缺少一个简单的解决方法? 更新(2017年10月): 请注意,由于最初询问此问题以来,apply()已对熊猫进行了更新以处理位置和关键字参数,并且上面的文档链接现在反映了这一点,并说明了如何包括这两种类型的参数。
147 python  pandas  apply 

8
具有NaN(缺失)值的pandas GroupBy列
我有一个DataFrame,在我希望分组的列中有许多缺失的值: import pandas as pd import numpy as np df = pd.DataFrame({'a': ['1', '2', '3'], 'b': ['4', np.NaN, '6']}) In [4]: df.groupby('b').groups Out[4]: {'4': [0], '6': [2]} 看到Pandas删除了具有NaN目标值的行。(我想包括这些行!) 由于我需要许多这样的操作(许多col具有缺失的值),并且使用的函数比中位数(通常是随机森林)更复杂,因此我想避免编写过于复杂的代码。 有什么建议?我应该为此编写一个函数还是有一个简单的解决方案?



14
熊猫与groupby占总数的百分比
这显然很简单,但是作为一个笨拙的新手,我陷入了困境。 我有一个包含3列的CSV文件,分别是该办公室的州,办公室ID和销售。 我想计算给定状态下每个办公室的销售百分比(每个州的所有百分比的总和是100%)。 df = pd.DataFrame({'state': ['CA', 'WA', 'CO', 'AZ'] * 3, 'office_id': range(1, 7) * 2, 'sales': [np.random.randint(100000, 999999) for _ in range(12)]}) df.groupby(['state', 'office_id']).agg({'sales': 'sum'}) 返回: sales state office_id AZ 2 839507 4 373917 6 347225 CA 1 798585 3 890850 5 454423 CO 1 819975 3 202969 …
147 python  pandas 

9
sys.argv [1]在脚本中的含义
我目前正在自学Python,只是想以简化的方式(参考下面的示例)想知道sys.argv[1]代表什么。它只是在要求输入吗? #!/usr/bin/python3.1 # import modules used here -- sys is a very standard one import sys # Gather our code in a main() function def main(): print ('Hello there', sys.argv[1]) # Command line args are in sys.argv[1], sys.argv[2] .. # sys.argv[0] is the script name itself and can be ignored …
146 python 

11
点破了。如何修复DistributionNotFound错误?
每当我尝试使用pip时,都会出现错误。例如: $ sudo pip install gevent-websocket Traceback (most recent call last): File "/usr/local/bin/pip", line 5, in <module> from pkg_resources import load_entry_point File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2675, in <module> parse_requirements(__requires__), Environment() File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 552, in resolve raise DistributionNotFound(req) pkg_resources.DistributionNotFound: pip==0.8.1 我很想将pip的值更改为pip == 0.8.2 ..,但是我没有处理“ hacking”我的安装的后果...我正在运行python 2.7,pip的版本为0.8.2。
146 python  pip 

2
如何使用Python登录网页并检索Cookie以供以后使用?
我想使用python下载和解析网页,但是要访问它,我需要设置一些cookie。因此,我需要先通过https登录到网页。登录时刻需要将两个POST参数(用户名,密码)发送到/login.php。在登录请求期间,我想从响应头中检索cookie并将其存储,以便可以在请求中使用它们来下载网页/data.php。 我将如何在python(最好是2.6)中做到这一点?如果可能,我只想使用内置模块。

4
为什么`if None .__ eq __(“ a”)`似乎评估为True(但不完全)?
如果您在Python 3.7中执行以下语句,它将(根据我的测试)打印b: if None.__eq__("a"): print("b") 但是,None.__eq__("a")计算为NotImplemented。 当然,"a".__eq__("a")计算结果为True,并"b".__eq__("a")计算结果为False。 我最初是在测试函数的返回值时发现此问题的,但是在第二种情况下却未返回任何内容-因此,该函数返回了None。 这里发生了什么?



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.