Questions tagged «python»

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

3
将Python函数应用于Pandas分组的DataFrame-加快计算速度的最有效方法是什么?
我正在处理相当大的Pandas DataFrame-我的数据集类似于以下df设置: import pandas as pd import numpy as np #--------------------------------------------- SIZING PARAMETERS : R1 = 20 # .repeat( repeats = R1 ) R2 = 10 # .repeat( repeats = R2 ) R3 = 541680 # .repeat( repeats = [ R3, R4 ] ) R4 = 576720 # .repeat( repeats …

4
与标准卡组相比,为更复杂的扑克牌类型创建类的好方法吗?
我对面向对象的编程非常陌生,并且正尝试通过制作简单的纸牌游戏(似乎很传统!)来开始使用python学习。我已经完成了下面的示例,该示例运行良好,并且教会了我有关制作PlayingCard()该类的多个实例以创建该类的实例的信息Deck(): class PlayingCard(object): def __init__(self, suit, val): self.suit = suit self.value = val def print_card(self): print("{} of {}".format(self.value, self.suit)) class Deck(object): def __init__(self): self.playingcards = [] self.build() def build(self): for s in ["Spades", "Clubs", "Diamonds", "Hearts"]: for v in range(1,14): self.playingcards.append(PlayingCard(s,v)) deck = Deck() 我现在想用更复杂的卡做一些事情,而不仅仅是一个标准的52副牌(具有很好的递增值)。我想到的套牌是“大富翁”纸牌游戏: 卡共有3种基本类型-ACTION卡,PROPERTY卡和MONEY卡。操作卡执行不同的操作,属性卡属于不同的颜色集,而货币卡可以具有不同的值。此外,属性卡可以是“通配符”,并且可以用作两个集合之一的一部分。最后,每张卡还具有同等的货币价值(在每张卡的左上角指示)。在租赁行动卡中,该卡只能应用于卡上指示的颜色属性。 我的问题只是一般如何处理这种情况,在基于类的python程序中包括这些不同的卡的最佳方法是什么?我应该保持我的单一PlayingCard()班级,并且只有很多输入,例如PlayingCard(type="PROPERTY", value="3M")。还是会更好地创建单独的类,如ActionPlayingCard(),PropertyPlayingCard()等?或者,还有更好的方法?就像我说的那样,我正在这里开始学习,以及如何根据更高级别的设计来组织这类情况。 非常感谢。

1
matplotlib中有没有一种方法可以检查轴的当前显示区域中有哪些艺术家?
我有一个带有互动人物的程序,偶尔会吸引许多艺术家。在此图中,您也可以使用鼠标缩放和平移。但是,在平移缩放期间的性能不是很好,因为每个艺术家总是会被重画。有没有一种方法可以检查当前显示区域中的哪些艺术家并仅重画这些艺术家?(在下面的示例中,性能仍然相对不错,但是可以通过使用更多或更多复杂的艺术家来任意恶化) 我的方法也遇到类似的性能问题hover,无论何时调用它,它都会canvas.draw()在最后运行。但是正如您所看到的,我通过使用缓存和恢复轴的背景(基于此)找到了一种解决方案。这极大地提高了演奏性能,现在即使有许多艺术家,它的运行也非常流畅。也许有一种类似的方法,但是对于panand zoom方法呢? 很抱歉,冗长的代码示例与问题没有直接关系,但对于一个有效的示例来突出此问题是必需的。 编辑 我更新了MWE,使之更能代表我的实际代码。 import numpy as np import numpy as np import sys import matplotlib.pyplot as plt from matplotlib.backends.backend_qt5agg import \ FigureCanvasQTAgg import matplotlib.patheffects as PathEffects from matplotlib.text import Annotation from matplotlib.collections import LineCollection from PyQt5.QtWidgets import QApplication, QVBoxLayout, QDialog def check_limits(base_xlim, base_ylim, new_xlim, new_ylim): if new_xlim[0] …


4
为什么我不能使用python从Google下载图像?
该代码帮助我从Google下载了一堆图像。它曾经工作了几天,现在突然间代码中断了。 代码: # importing google_images_download module from google_images_download import google_images_download # creating object response = google_images_download.googleimagesdownload() search_queries = ['Apple', 'Orange', 'Grapes', 'water melon'] def downloadimages(query): # keywords is the search query # format is the image file format # limit is the number of images to be downloaded # print …

1
无法清除python3.X中的pexpect缓冲区
我正在使用Pexpect模块连接到远程服务器。我可以成功发送和检索响应。我正在尝试通过期待垃圾来清除缓冲区,并假定它将清除缓冲区,但实际上并没有清除缓冲区。 下面是我的示例代码 import pexpect obj = pexpect.spawn("telnet 172.16.250.250", maxread=8192) obj.sendline("") result = obj.expect(expected, timeout=3) --> getting output here `OUTPUT 1` obj.sendline("1") time.sleep(3) try: obj.expect("Asdfgdsad", timeout=2) --> I am expecting to clear buffer here but it did not except pexpect.TIMEOUT: pass print("buffer is", obj.buffer) . --> This is printing output `OUTPUT …
9 python 

6
AttributeError:“ DataFrame”对象没有属性“ ix”
当我尝试使用pandas数据框的.ix属性提取列时,出现上述错误,例如df.ix [:,'col_header']。该脚本从今天早上开始运行,但是今天下午我在带有新安装的Pandas的新Linux环境中运行了该脚本。其他人以前见过这个错误吗?我在这里和其他地方搜索过,但找不到。

3
Python中的工厂方法与注入框架-什么更清洁?
我通常在应用程序中执行的操作是,使用工厂方法创建所有服务/ dao / repo / clients class Service: def init(self, db): self._db = db @classmethod def from_env(cls): return cls(db=PostgresDatabase.from_env()) 当我创建应用程序时 service = Service.from_env() 什么创建所有依赖关系 在测试中,当我不想使用真正的数据库时,我只做DI service = Service(db=InMemoryDatabse()) 我想这与clean / hex体系结构相差很远,因为Service知道如何创建数据库并知道它创建哪种数据库类型(也可以是InMemoryDatabse或MongoDatabase) 我想在干净/十六进制架构中 class DatabaseInterface(ABC): @abstractmethod def get_user(self, user_id: int) -> User: pass import inject class Service: @inject.autoparams() def __init__(self, db: …

3
从Pandas数据框中仅解冻部分列
我有以下示例数据框: df = pd.DataFrame(data = {'RecordID' : [1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5], 'DisplayLabel' : ['Source','Test','Value 1','Value 2','Value3','Source','Test','Value 1','Value 2','Source','Test','Value 1','Value 2','Source','Test','Value 1','Value 2','Source','Test','Value 1','Value 2'], 'Value' : ['Web','Logic','S','I','Complete','Person','Voice','>20','P','Mail','OCR','A','I','Dictation','Understandable','S','I','Web','Logic','R','S']}) 创建以下数据框: +-------+----------+---------------+----------------+ | Index | RecordID | Display Label | Value | +-------+----------+---------------+----------------+ | 0 | 1 | Source | Web | | 1 | 1 …

1
Django REST Framework(DRF):TypeError:register()获得了意外的关键字参数“ base_name”
我已更新至djangorestframework==3.11.0旧版本。现在我有这个错误, TypeError:register()获得了意外的关键字参数'base_name' Traceback ... ... ... File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/abu/projects/django-example/django2x/urls.py", line 21, in <module> path('sample/', include('sample.urls')), File "/home/abu/.virtualenvs/django-example/lib/python3.6/site-packages/django/urls/conf.py", line 34, in include urlconf_module = import_module(urlconf_module) File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", …


1
Pandas DataFrame子类的属性设置器
我试图pd.DataFrame在初始化(group和timestamp_col)时建立一个具有两个必需参数的子类。我想对这些参数group和进行验证timestamp_col,所以我对每个属性都有一个setter方法。这一切都是有效的,直到我尝试set_index()得到TypeError: 'NoneType' object is not iterable。在test_set_index和中,似乎没有参数传递给我的setter函数test_assignment_with_indexed_obj。如果添加if g == None: return到setter函数中,则可以通过测试用例,但认为这不是正确的解决方案。 如何为这些必需的参数实施属性验证? 下面是我的课: import pandas as pd import numpy as np class HistDollarGains(pd.DataFrame): @property def _constructor(self): return HistDollarGains._internal_ctor _metadata = ["group", "timestamp_col", "_group", "_timestamp_col"] @classmethod def _internal_ctor(cls, *args, **kwargs): kwargs["group"] = None kwargs["timestamp_col"] = None return cls(*args, **kwargs) def __init__( self, …

2
如何从Python-3的DataFrame中查找前N个最小值
我在数据框下方有字段“年龄”,需要从数据框中找到前3个最低年龄 DF = pd.DataFrame.from_dict({'Name':['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], 'Age':[18, 45, 35, 70, 23, 24, 50, 65, 18, 23]}) DF['Age'].min() 要在列表中排名前两个年龄(即18、23),如何实现? 注意:DataFrame-DF包含年龄重复项,即18和23重复两次,需要唯一值。

6
匹配和删除重复的字符:替换多个(3+)非连续出现的字符
我正在寻找一个regex与每个字符的第三,第四,...匹配的模式。请看下面的说明: 例如,我有以下字符串: 111aabbccxccybbzaa1 我想在第二次出现后替换所有重复的字符。输出将是: 11-aabbccx--y--z--- 到目前为止,我尝试过一些正则表达式模式: 使用以下正则表达式,我可以找到每个字符的最后一次出现: (.)(?=.*\1) 或使用此方法,我可以将其用于连续重复,但不能重复: ([a-zA-Z1-9])\1{2,}
9 python  r  regex  string 

3
将numpy数组的组名映射到索引的最快方法是什么?
我正在使用激光雷达的3D pointcloud。这些点由numpy数组给出,如下所示: points = np.array([[61651921, 416326074, 39805], [61605255, 416360555, 41124], [61664810, 416313743, 39900], [61664837, 416313749, 39910], [61674456, 416316663, 39503], [61651933, 416326074, 39802], [61679969, 416318049, 39500], [61674494, 416316677, 39508], [61651908, 416326079, 39800], [61651908, 416326087, 39802], [61664845, 416313738, 39913], [61674480, 416316668, 39503], [61679996, 416318047, 39510], [61605290, 416360572, 41118], [61605270, 416360565, 41122], [61683939, …

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.