Questions tagged «python»

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

7
熊猫如何过滤系列
在执行groupby('name')并在其他列上使用过mean()函数后,我得到了这样的系列 name 383 3.000000 663 1.000000 726 1.000000 737 9.000000 833 8.166667 谁能告诉我如何过滤出平均值为1.000000的行?谢谢,我非常感谢您的帮助。
94 python  pandas 

5
使用pandas和matplotlib绘制分类数据
我有一个包含分类数据的数据框: colour direction 1 red up 2 blue up 3 green down 4 red left 5 red right 6 yellow down 7 blue down 我想根据类别生成一些图形,例如饼图和直方图。是否可以不创建虚拟数值变量?就像是 df.plot(kind='hist')
94 python  pandas 


6
IPython的魔术贴如何工作?
我想将已经缩进的Python代码/整个函数和类复制到IPython中。每当我尝试缩进时,都会收到以下错误消息: IndentationError: unindent does not match any outer indentation level (<ipython-input-23-354f8c8be51b>, line 12) If you want to paste code into IPython, try the %paste and %cpaste magic functions.
93 python  ipython 


6
由于Django不活动,如何终止会话?
我们的Django应用程序具有以下会话管理要求。 当用户关闭浏览器时,会话期满。 闲置一段时间后,会话将过期。 检测会话由于不活动而过期的时间,并向用户显示适当的消息。 在闲置时间结束前几分钟警告用户即将到期的会话。除了警告,还为用户提供扩展会话的选项。 如果用户正在应用程序中从事长时间的业务活动,而该活动不涉及将请求发送到服务器,则会话一定不能超时。 阅读文档,Django代码和与此相关的一些博客文章之后,我想出了以下实现方法。 要求1 通过将SESSION_EXPIRE_AT_BROWSER_CLOSE设置为True可以轻松实现此要求。 要求2 我看到了一些建议,可以使用SESSION_COOKIE_AGE来设置会话的有效期限。但是这种方法具有以下问题。 即使用户正在积极使用应用程序,会话也总是在SESSION_COOKIE_AGE结束时到期。(这可以通过使用自定义中间件将每个请求的会话过期设置为SESSION_COOKIE_AGE来防止,或者通过将SESSION_SAVE_EVERY_REQUEST设置为true来保存每个请求的会话。但是由于使用了SESSION_COOKIE_AGE,下一个问题是不可避免的。) 由于cookie的工作方式,SESSION_EXPIRE_AT_BROWSER_CLOSE和SESSION_COOKIE_AGE是互斥的,即cookie在浏览器关闭时或在指定的到期时间到期。如果使用了SESSION_COOKIE_AGE并且用户在cookie过期之前关闭了浏览器,则cookie被保留,重新打开浏览器将允许用户(或其他任何人)进入系统而无需重新认证。 Django仅依靠存在的cookie来确定会话是否处于活动状态。它不检查与会话存储的会话到期日期。 以下方法可用于实现此要求并解决上述问题。 不要设置SESSION_COOKIE_AGE。 对于每个请求,将会话的到期日期设置为“当前时间+闲置时间”。 覆盖SessionMiddleware中的process_request并检查会话到期。如果会话已过期,则将其丢弃。 要求3 当我们检测到会话已过期时(在上面的自定义SessionMiddleware中),请在请求上设置一个属性以指示会话已过期。此属性可用于向用户显示适当的消息。 要求4 使用JavaScript检测用户的不活动状态,提供警告以及扩展会话的选项。如果用户希望扩展,请向服务器发送一个保持活动状态的脉冲以扩展会话。 要求5 使用JavaScript来检测用户活动(在长时间的业务操作过程中),并向服务器发送保持活动状态的脉冲,以防止会话到期。 上面的实现方法似乎非常复杂,我想知道是否可能有一个更简单的方法(尤其是对于要求2)。 任何见解将不胜感激。

7
Ruby的bundler / Perl的纸箱的Python等效项是什么?
我了解virtualenv和pip。但是这些与捆包机/纸箱有点不同。 例如: pip写入shebang或激活脚本的绝对路径 pip没有exec子命令(bundle exec bar) virtualenv将Python解释器复制到本地目录 每个Python开发人员都使用virtualenv / pip吗?还有其他适用于Python的软件包管理工具吗?
93 python  ruby  perl  virtualenv  pip 

8
为什么在C ++中拆分字符串要比Python慢​​?
我正在尝试将一些代码从Python转换为C ++,以期提高速度并提高生锈的C ++技能。当一个天真的实现从标准输入读取线是在Python比C快得多++(见昨天我惊呆了这个)。今天,我终于弄清楚了如何使用合并定界符(与python的split()相似的语义)在C ++中拆分字符串,并且现在遇到了deja vu!我的C ++代码需要花费更长的时间才能完成工作(尽管昨天的课程没有那么多)。 Python代码: #!/usr/bin/env python from __future__ import print_function import time import sys count = 0 start_time = time.time() dummy = None for line in sys.stdin: dummy = line.split() count += 1 delta_sec = int(time.time() - start_time) print("Python: Saw {0} lines in {1} seconds. ".format(count, delta_sec), …



5
SqlAlchemy-按关系属性过滤
我在SQLAlchemy上没有太多经验,并且有一个我无法解决的问题。我尝试搜索,并且尝试了很多代码。这是我的课程(简化为最重要的代码): class Patient(Base): __tablename__ = 'patients' id = Column(Integer, primary_key=True, nullable=False) mother_id = Column(Integer, ForeignKey('patients.id'), index=True) mother = relationship('Patient', primaryjoin='Patient.id==Patient.mother_id', remote_side='Patient.id', uselist=False) phenoscore = Column(Float) 我想查询所有母亲的phenoscore为(例如)的患者 == 10 如前所述,我尝试了很多代码,但我不明白。在我看来,合乎逻辑的解决方案是 patients = Patient.query.filter(Patient.mother.phenoscore == 10) 因为,您可以.mother.phenoscore在输出时访问每个元素,但是此代码不执行此操作。 是否有(直接)可能性通过关系的属性进行过滤(而无需编写SQL语句或额外的连接语句),所以我需要多次进行这种过滤。 即使没有简单的解决方案,我也很高兴获得所有答案。


3
仅当与python不存在时才安全创建文件
我希望根据该文件是否已经存在来写一个文件,仅在不存在的情况下才写(实际上,我希望不断尝试文件,直到找到不存在的文件为止)。 下面的代码显示在其中一个潜在的攻击者可以插入一个符号,作为建议的方式这篇文章中该文件的测试和写入的文件之间。如果代码以足够高的权限运行,则可能会覆盖任意文件。 有什么办法解决这个问题? import os import errno file_to_be_attacked = 'important_file' with open(file_to_be_attacked, 'w') as f: f.write('Some important content!\n') test_file = 'testfile' try: with open(test_file) as f: pass except IOError, e: # symlink created here os.symlink(file_to_be_attacked, test_file) if e.errno != errno.ENOENT: raise else: with open(test_file, 'w') as f: f.write('Hello, kthxbye!\n')
93 python 

4
使用PIL获取像素的RGB
是否可以使用PIL获得像素的RGB颜色?我正在使用此代码: im = Image.open("image.gif") pix = im.load() print(pix[1,1]) 但是,它仅输出一个数字(例如0或1),而不输出三个数字(例如60,60,60对于R,G,B)。我想我对功能不了解。我想解释一下。 非常感谢。

1
熊猫的concat函数中的“级别”,“键”和名称参数是什么?
问题 如何使用pd.concat? 什么是levels对的说法? 什么是keys对的说法? 有大量示例可以帮助解释如何使用所有参数吗? 熊猫的concat职能是合并后的公用事业公司的瑞士军刀。有用的情况多种多样。现有文档在一些可选参数上省略了一些细节。其中有levels和keys参数。我着手弄清楚这些论点的作用。 我将提出一个问题,将其作为的许多方面的门户pd.concat。 考虑数据帧d1,d2以及d3: import pandas as pd d1 = pd.DataFrame(dict(A=.1, B=.2, C=.3), [2, 3]) d2 = pd.DataFrame(dict(B=.4, C=.5, D=.6), [1, 2]) d3 = pd.DataFrame(dict(A=.7, B=.8, D=.9), [1, 3]) 如果我将这些与 pd.concat([d1, d2, d3], keys=['d1', 'd2', 'd3']) pandas.MultiIndex对于我的columns对象,我得到了预期的结果: A B C D d1 2 0.1 0.2 0.3 …
93 python  pandas 

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.