Questions tagged «python»

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

7
公平划分列表中的元素
给定玩家的评分列表,我需要将玩家(即评分)尽可能公平地分为两组。目标是最大程度地减少团队的累积评分之间的差异。我如何将玩家分成团队没有任何限制(一个团队可以有2个玩家,而另一个团队可以有10个玩家)。 例如:[5, 6, 2, 10, 2, 3, 4]应返回([6, 5, 3, 2], [10, 4, 2]) 我想知道解决这个问题的算法。请注意,我正在参加在线编程入门课程,因此,简单的算法将不胜感激。 我正在使用以下代码,但是由于某种原因,在线代码检查器说这是不正确的。 def partition(ratings): set1 = [] set2 =[] sum_1 = 0 sum_2 = 0 for n in sorted(ratings, reverse=True): if sum_1 < sum_2: set1.append(n) sum_1 = sum_1 + n else: set2.append(n) sum_2 = sum_2 + …
12 python  algorithm  list 

1
具有3个月数据集的多元时间序列预测
我产生了3个月的数据(每一行对应于每一天),并且我想对同一数据执行多元时间序列分析: 可用的列是- Date Capacity_booked Total_Bookings Total_Searches %Variation 每个Date在数据集中都有1个条目,并且有3个月的数据,我想拟合一个多元时间序列模型来预测其他变量。 到目前为止,这是我的尝试,我尝试通过阅读文章来实现相同目的。 我也一样- df['Date'] = pd.to_datetime(Date , format = '%d/%m/%Y') data = df.drop(['Date'], axis=1) data.index = df.Date from statsmodels.tsa.vector_ar.vecm import coint_johansen johan_test_temp = data coint_johansen(johan_test_temp,-1,1).eig #creating the train and validation set train = data[:int(0.8*(len(data)))] valid = data[int(0.8*(len(data))):] freq=train.index.inferred_freq from statsmodels.tsa.vector_ar.var_model import VAR model …

2
生成过滤后的二元笛卡尔积
问题陈述 我正在寻找一种有效的方法来生成完全二进制的笛卡尔乘积(具有某些列的True和False的所有组合的表),并按某些排他条件过滤。例如,对于三列/位,n=3我们将获得完整表 df_combs = pd.DataFrame(itertools.product(*([[True, False]] * n))) 0 1 2 0 True True True 1 True True False 2 True False True 3 True False False ... 应该由字典定义互斥组合来过滤此内容,如下所示: mutually_excl = [{0: False, 1: False, 2: True}, {0: True, 2: True}] 键在其中表示上表中的列。该示例将读取为: 如果0为False而1为False,则2不能为True 如果0为True,则2不能为True 基于这些过滤器,预期输出为: 0 1 2 1 True …

2
Django:运行manage.py总是中止
我有一个尝试在本地设置的现有Django应用程序。创建虚拟环境并安装所有必需的依赖项之后,运行manage.py只会中止,而不会出现任何其他有用的错误消息。 (venv) $ python manage.py [1] 39973 abort python manage.py 提供的任何子命令也只会中止,而我一直在尝试寻找一种没有运气的调试方法。 使用的版本: python 3.6.8 Django 2.0.2 编辑: 我终于找到了问题所在。如果您使用的是macOS 10.15(Catalina),则可以帮助您: 依赖项之一是cryptography需要openssl。您可以通过brew安装openssl,然后将符号链接添加到以下内容: cd /usr/local/lib ln -s /usr/local/Cellar/openssl/1.0.2t/lib/libcrypto.1.0.0.dylib libcrypto.dylib ln -s /usr/local/Cellar/openssl/1.0.2t/lib/libssl.1.0.0.dylib libssl.dylib
12 python  django 

4
numpy.median.reduceat的快速替代方案
关于此答案,是否存在一种快速方法来计算具有不等数量元素的组的数组的中值? 例如: data = [1.00, 1.05, 1.30, 1.20, 1.06, 1.54, 1.33, 1.87, 1.67, ... ] index = [0, 0, 1, 1, 1, 1, 2, 3, 3, ... ] 然后,我想计算数量与每组中位数之间的差(例如,组的中位数0为1.025,则第一个结果为1.00 - 1.025 = -0.025)。因此,对于上面的数组,结果将显示为: result = [-0.025, 0.025, 0.05, -0.05, -0.19, 0.29, 0.00, 0.10, -0.10, ...] 既然np.median.reduceat还不存在,还有另一种快速的方法来实现这一目标吗?我的数组将包含数百万行,因此速度至关重要! 可以假定索引是连续且有序的(如果不是,则很容易对其进行转换)。 性能比较的示例数据: import numpy …


4
与列表切片相反,元组切片不返回新对象
在Python(2和3)中。每当我们使用列表切片时,它都会返回一个新对象,例如: l1 = [1,2,3,4] print(id(l1)) l2 = l1[:] print(id(l2)) 输出量 >>> 140344378384464 >>> 140344378387272 如果用元组重复相同的事情,则返回相同的对象,例如: t1 = (1,2,3,4) t2 = t1[:] print(id(t1)) print(id(t2)) 输出量 >>> 140344379214896 >>> 140344379214896 如果有人能弄清为什么会发生,那将是很棒的,在我的整个Python经验中,我一直以为空切片会返回一个新对象为印象。 我的理解是,它返回的对象与元组是不可变的相同,因此没有必要为其创建新副本。但是同样,文档中也没有提到它。
12 python  list  tuples  slice  cpython 

7
当内存不足时,Jupyter Lab会冻结计算机-如何防止它发生?
我最近开始使用Jupyter Lab,但我的问题是我要处理非常大的数据集(通常,数据集本身大约是计算机RAM的1/4)。经过几次转换后,另存为新的Python对象,我倾向于耗尽内存。问题是,当我接近可用的RAM限制并执行需要另一个RAM空间的任何操作时,计算机将冻结,而修复它的唯一方法是重新启动它。这是Jupyter Lab / Notebook中的默认行为,还是我应该设置的某些设置?通常,我希望程序崩溃,而不是整个计算机崩溃(例如在RStudio中)

8
如何使Conda和Virtualenv在Mac OS Catalina上工作?
之前,我曾让Conda在Mojave上顺利运行,但是我发现升级到Catalina会将“ anaconda3”文件夹移至“桌面”>“重定位项”>“安全性”>“ anaconda3”。似乎Catalina的安全设置可能不再允许应用程序直接安装在用户目录下。 我在这里尝试了以下建议: 嗨,我可能有解决方案 将位于“重定位项”中的文件夹anaconda3复制到/ Users / myname / 开放终端 输入:export PATH =“ /用户/ myname / anaconda3 / bin:$ PATH” 输入:conda init zsh 有效!祝好运! 但这对我不起作用。之后conda init zsh,我得到: -bash:/ Users / USER / anaconda3 / bin / conda:/ anaconda3 / bin / python:错误的解释器:没有这样的文件或目录 如何在不丢失所有虚拟环境的情况下重新启动Conda并运行?谢谢! 更新资料 我按照@Ted Shaowang的建议让Conda工作。这意味着将conda env list显示通过Conda创建的所有虚拟环境。 但是virtualenv,由于更改了默认的anaconda3文件位置,因此我仍然遇到问题,无法找到python。 …
12 python  macos  conda 

7
创建conda环境:“发现冲突!” 解决环境和永远寻找“最短冲突路径”时
为我提供了一个environment.ubuntu.yml能够创建conda环境的文件。但是,运行时conda create env --file environment.ubuntu.yml得到以下输出: conda env create --file environment.ubuntu.yml Collecting package metadata (repodata.json): done Solving environment: - Found conflicts! Looking for incompatible packages. This can take several minutes. Press CTRL-C to abort. Examining fontconfig: 5%|▉ | 10/202 [00:00<00:00, 5393.91it/ ] Comparing specs that have this dependency: 0%| | 0/12 …

3
从加密的PDF中提取Python数据
我是纯数学的最新毕业生,只修过很少的基础编程课程。我正在实习,并且有一个内部数据分析项目。我必须分析最近几年的内部PDF。PDF是“安全的”。换句话说,它们是加密的。我们没有PDF密码,甚至更多,我们不确定密码是否存在。但是,我们拥有所有这些文档,我们可以手动阅读它们。我们也可以打印它们。我们的目标是使用Python读取它们,因为这是我们有某种想法的语言。 首先,我尝试使用一些Python库来阅读PDF。但是,我发现的Python库无法读取加密的PDF。当时,我也无法使用Adobe Reader导出信息。 其次,我决定解密PDF。我成功使用了Python库pykepdf。Pykepdf效果很好!但是,解密的PDF不能与上一点的Python库(PyPDF2和Tabula)一起读取。目前,我们已经进行了一些改进,因为使用Adobe Reader可以从解密的PDF中导出信息,但是目标是使用Python进行所有操作。 我要显示的代码可以与未加密的PDF完美配合,但不能与加密的PDF完美配合。它也不适用于通过pykepdf获取的解密PDF。 我没有写代码。我在Python库Pykepdf和Tabula的文档中找到了它。PyPDF2解决方案是由Al Sweigart在他强烈推荐的书“ 用Python自动化无聊的东西 ”中写的。我还检查了代码是否工作正常,并具有我之前解释的限制。 第一个问题,如果程序使用从未加密过的文件,为什么我不能读取解密的文件? 第二个问题,我们可以用Python读取解密后的文件吗?哪个图书馆可以做到或不可能?是否可以提取所有解密的PDF? 谢谢您的时间和帮助!!! 我使用Python 3.7,Windows 10,Jupiter Notebook和Anaconda 2019.07找到了这些结果。 Python import pikepdf with pikepdf.open("encrypted.pdf") as pdf: num_pages = len(pdf.pages) del pdf.pages[-1] pdf.save("decrypted.pdf") import tabula tabula.read_pdf("decrypted.pdf", stream=True) import PyPDF2 pdfFileObj=open("decrypted.pdf", "rb") pdfReader=PyPDF2.PdfFileReader(pdfFileObj) pdfReader.numPages pageObj=pdfReader.getPage(0) pageObj.extractText() 使用Tabula,我收到消息“输出文件为空”。 使用PyPDF2,我只会得到'/ n' 更新10/3/2019 Pdfminer.six(2018年11月版) 使用DuckPuncher发布的解决方案,我得到了更好的结果。对于解密的文件,我得到了标签,但没有数据。加密文件也是如此。对于从未加密的文件,它非常完美。由于我需要加密或解密文件的数据和标签,因此此代码对我不起作用。对于该分析,我使用了pdfminer.six,它是2018年11月发布的Python库.Pdfminer.six包括一个库pycryptodome。根据他们的文档“ PyCryptodome是一个包含低级密码基元的自包含Python软件包。” …

5
将列表中找到的ID添加到Pandas数据框中的新列
假设我有以下数据框(一列整数和一列整数列表)... ID Found_IDs 0 12345 [15443, 15533, 3433] 1 15533 [2234, 16608, 12002, 7654] 2 6789 [43322, 876544, 36789] 还有一个单独的ID列表... bad_ids = [15533, 876544, 36789, 11111] 鉴于此,忽略df['ID']列和任何索引,我想看看bad_ids列中是否提到了列表中的任何ID df['Found_IDs']。到目前为止,我的代码是: df['bad_id'] = [c in l for c, l in zip(bad_ids, df['Found_IDs'])] 这是有效的,但仅当bad_ids列表比数据框长,并且对于实际数据集,bad_ids列表将比数据框短得多时。如果我将bad_ids列表设置为仅两个元素... bad_ids = [15533, 876544] 我遇到了一个非常流行的错误(我读过很多有相同错误的问题)... ValueError: Length of values does …

9
从一列熊猫创建一个NxN矩阵
我有数据框,每一行都有一个列表值。 id list_of_value 0 ['a','b','c'] 1 ['d','b','c'] 2 ['a','b','c'] 3 ['a','b','c'] 我必须用一行计算所有其他行的分数 例如: Step 1: Take value of id 0: ['a','b','c'], Step 2: find the intersection between id 0 and id 1 , resultant = ['b','c'] Step 3: Score Calculation => resultant.size / id.size 对所有ID重复在ID 0和ID 1,2,3之间重复步骤2,3。 并创建一个N x N数据帧;例如: …
11 python  pandas  numpy 

2
Flask应用程序不会启动“ ImportError:无法从'werkzeug'导入名称'cached_property''
我已经在Flask应用程序上工作了几个星期。我今天完成了它,然后去部署了它……现在它不会启动。 我没有添加或删除任何代码,因此假设部署过程中发生了某些变化? 无论如何,这是终端中显示的完整错误: Traceback (most recent call last): File "C:\Users\Kev\Documents\Projects\Docket\manage.py", line 5, in <module> from app import create_app, db File "C:\Users\Kev\Documents\Projects\Docket\app\__init__.py", line 21, in <module> from app.api import api, blueprint, limiter File "C:\Users\Kev\Documents\Projects\Docket\app\api\__init__.py", line 2, in <module> from flask_restplus import Api File "C:\Users\Kev\.virtualenvs\Docket-LasDxOWU\lib\site-packages\flask_restplus\__init_ _.py", line 4, in <module> from . …

2
pip / python:正常的站点包不可写
我有一台新的Macbook-一个用户安装了它,然后我安装了一个新用户(我的),被授予管理员权限并删除了旧的。我在OS Catalina上。 自安装以来,我一直遇到一些权限问题。VSCode找不到Jupyter Notebook,请在pip安装软件包~/Library/Python/3.7/site-packages。 当我这样做which python3,我得到usr/bin/python3。当我pip3 install <package>得到时:Defaulting to user installation because normal site-packages is not writeable尽管它无法访问,但它说它已经安装了import <package>。 显然,这是一个权限问题,pip无法安装到“基本” python,他们python也找不到我已安装到的内容~/Library/Python/3.7/site-packages。 我尝试过重新安装操作系统,但是由于我没有进行全新安装,因此它没有任何更改。我想念什么?我到底该如何修复权限?我想在哪里安装软件包(venv当然,但是有些软件包我想全局安装(如jupyter)。 谢谢
11 python  pip 

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.