Questions tagged «python»

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

1
文档读取失败,并显示“无法从'pip._internal.index'导入名称'PackageFinder'”
Sphinx文档在read-the-docs上的构建失败,并显示以下错误(以下完整日志): ImportError: cannot import name 'PackageFinder' from 'pip._internal.index' (/home/docs/checkouts/readthedocs.org/user_builds/cascade-python/envs/latest/lib/python3.7/site-packages/pip/_internal/index/__init__.py) 我做错什么了吗?或者这是阅读文档中的错误? Sphinx文档的本地版本运行良好。 阅读文档时完整的错误日志: Read the Docs build information Build id: 10299638 Project: cascade-python Version: latest Commit: a7d50bf781bd8076b10dd7024db4ccb628016c27 Date: 2020-01-21T17:03:12.876711Z State: finished Success: False [rtd-command-info] start-time: 2020-01-21T17:03:13.203354Z, end-time: 2020-01-21T17:03:13.215400Z, duration: 0, exit-code: 0 git remote set-url origin https://github.com/brunorijsman/cascade-python.git [rtd-command-info] start-time: 2020-01-21T17:03:13.276220Z, end-time: …

3
关于多线程的Pandas和Numpy怪异错误
默认情况下,大多数Numpy函数都会启用多线程。 例如,如果我运行脚本,我将在8核Intel cpu工作站上工作 import numpy as np x=np.random.random(1000000) for i in range(100000): np.sqrt(x) linux top将在运行期间显示800%的cpu使用率,例如 numpy表示numpy自动检测到我的工作站具有8个核心,并np.sqrt自动使用所有8个核心来加速计算。 但是,我发现了一个奇怪的错误。如果我运行脚本 import numpy as np import pandas as pd df=pd.DataFrame(np.random.random((10,10))) df+df x=np.random.random(1000000) for i in range(100000): np.sqrt(x) CPU使用率是100%!! 这意味着,如果在运行任何numpy函数之前加上两个pandas DataFrame,则numpy的自动多线程功能将消失,而不会发出任何警告!这绝对是不合理的,为什么Pandas dataFrame计算会影响Numpy线程设置?是虫子吗?如何解决这个问题? PS: 我进一步使用Linux perf工具进行挖掘。 运行第一个脚本显示 运行第二个脚本时显示 因此,这两个脚本都涉及libmkl_vml_avx2.so,而第一个脚本则涉及其他libiomp5.so与openMP有关的脚本。 而且由于vml意味着intel向量数学库,所以根据vml doc,我猜至少下面的函数都是自动多线程的
25 python  pandas  numpy 

2
Python中随机数最终数字的分布
在Python中,有两种显而易见的方法可以生成一个从0到9的随机数字。一个可以生成一个介于0和1之间的随机浮点数,再乘以10,然后四舍五入。或者,可以使用该random.randint方法。 import random def random_digit_1(): return int(10 * random.random()) def random_digit_2(): return random.randint(0, 9) 我很好奇,如果生成一个0到1之间的随机数并保留最后一位数字,将会发生什么。我不一定期望分布是均匀的,但是我发现结果非常令人惊讶。 from random import random, seed from collections import Counter seed(0) counts = Counter(int(str(random())[-1]) for _ in range(1_000_000)) print(counts) 输出: Counter({1: 84206, 5: 130245, 3: 119433, 6: 129835, 8: 101488, 2: 100861, 9: 84796, 4: 129088, …
24 python  random 

9
如果列表元素在两个空格之间,则联接它们
我有这样的输入: ['assembly', '', 'py', 'tho', 'n', '', 'ja', 'va', '', 'rub', 'y', '', 'java', 'script', '', 'c++'] 我想在元素之间''加入这样的输出: ['assembly', 'python', 'java', 'ruby', 'javascript', 'c++'] 我尝试使用join和列表切片是这样的: a=['assembly', '', 'py', 'tho', 'n', '', 'ja', 'va', '', 'rub', 'y', '', 'java', 'script', '', 'c++'] a[2:5] = [''.join(a[ 2: 5])] a=['assembly', '', 'python', '', …

3
AttributeError:模块“时间”在Python 3.8中没有属性“时钟”
我已经编写了生成公共和私有密钥的代码。它在Python 3.7上运行良好,但在Python 3.8中失败。我不知道在最新版本中它怎么会失败。为我提供一些解决方案。 这是代码: from Crypto.PublicKey import RSA def generate_keys(): modulus_length = 1024 key = RSA.generate(modulus_length) pub_key = key.publickey() private_key = key.exportKey() public_key = pub_key.exportKey() return private_key, public_key a = generate_keys() print(a) Python 3.8版本中的错误: Traceback (most recent call last): File "temp.py", line 18, in <module> a = generate_keys() File "temp.py", …

7
根据字典将新列添加到数据框
我有一个数据框和一个字典。我需要向数据框添加新列,并根据字典计算其值。 机器学习,基于一些表添加了新功能: score = {(1, 45, 1, 1) : 4, (0, 1, 2, 1) : 5} df = pd.DataFrame(data = { 'gender' : [1, 1, 0, 1, 1, 0, 0, 0, 1, 0], 'age' : [13, 45, 1, 45, 15, 16, 16, 16, 15, 15], 'cholesterol' : [1, 2, 2, …


5
如何比较2个iframe并在视觉上获得差异?
案件 : 我有2个iframe,并且都有很多div和其他控件,所以两个iframe都像HTML网站的中等大小。我想将两者进行比较并找出差异。 我在这里想到了不同的选择: 解决方案1:拍摄2个iframe的完整屏幕快照,并使用Python的枕头库比较两个屏幕快照,该枕头库在屏幕快照的不匹配区域上绘制网格。但是这里的问题是我在互联网上找不到任何可以获取完整iframe屏幕截图的代码(我的iframe较长且带有滚动条)。我在SO上尝试了几乎所有答案,但是所有答案都适用于正常页面,但不适用于iframe。 参考:https : //blog.rinatussenov.com/automating-manual-visual-regression-tests-with-python-and-selenium-be66be950196 解决方案2:以某种方式从两个iframe中获取所有HTML代码并进行比较,但这很难分析结果,因为它将找到一些不同的HTML代码或两个iframe中存在不匹配的HTML代码。我相信这将更像是文字比较,而不是一个好的解决方案。 因此,我正在寻找可以使用Python或Javascript拍摄iframe完整屏幕截图的代码,或者是可以比较2个iframe并找出差异的更好的选择。 我尝试了谷歌按照以下方法找到的几乎所有答案: 这里提供了示例iframe,其中整个html都位于iframe中:https : //grapesjs.com/demo.html,如果某些代码可以获取此iframe的完整屏幕截图,那么对我来说就很容易比较。

7
Python中的SSL模块不可用(在OSX上)
我pip install在OSX 10.13上的virtualenv中运行时遇到问题。我已经跑步brew install openssl了,路径/usr/local/include/openssl指向../opt/openssl/include/openssl。有谁知道如何解决这一问题?在我python使用重新安装后,这种情况开始发生brew install。 pip配置了需要TLS / SSL的位置,但是Python中的ssl模块不可用。收集枕头无法获取URL https://pypi.python.org/simple/pillow/:确认ssl证书时出现问题:无法连接到HTTPS URL,因为SSL模块不可用。-跳过找不到满足枕头要求的版本(来自版本:)找不到与枕头匹配的分布 更新:这是更多信息: ✗ which python /usr/local/opt/python/libexec/bin/python ✗ which pip /usr/local/opt/python/libexec/bin/pip ✗ python --version Python 3.7.4 ✗ pip --version pip 19.1.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7) ✗ brew info python python: stable 3.7.4 (bottled), HEAD Interpreted, interactive, object-oriented programming language https://www.python.org/ /usr/local/Cellar/python/3.6.5_1 …
21 python  macos  ssl 

7
检查pandas列是否包含列表中的所有元素
我有这样的df: frame = pd.DataFrame({'a' : ['a,b,c', 'a,c,f', 'b,d,f','a,z,c']}) 以及物品清单: letters = ['a','c'] 我的目标是从中获取frame至少包含2个元素的所有行。letters 我想出了以下解决方案: for i in letters: subframe = frame[frame['a'].str.contains(i)] 这给了我我想要的,但是就可伸缩性而言,它可能不是最佳的解决方案。是否有任何“向量化”解决方案?谢谢
20 python  pandas 

2
Python与Julia自相关
我正在尝试使用Julia进行自相关并将其与Python的结果进行比较。他们如何得出不同的结果? 朱莉娅代码 using StatsBase t = range(0, stop=10, length=10) test_data = sin.(exp.(t.^2)) acf = StatsBase.autocor(test_data) 给 10-element Array{Float64,1}: 1.0 0.13254954979179642 -0.2030283419321465 0.00029587850872956104 -0.06629381497277881 0.031309038331589614 -0.16633393452504994 -0.08482388975165675 0.0006905628640697538 -0.1443650483145533 Python代码 from statsmodels.tsa.stattools import acf import numpy as np t = np.linspace(0,10,10) test_data = np.sin(np.exp(t**2)) acf_result = acf(test_data) 给 array([ 1. , …
19 python  julia 

14
如何在评分系统功能中简化重复的if-elif语句?
目标是构建一个程序,将分数从“ 0到1”系统转换为“ F到A”系统: 如果score >= 0.9会打印“ A” 如果score >= 0.8会打印“ B” 0.7,C 0.6,D 然后在该点以下的任何值打印F 这是构建它的方法,它可以在程序上运行,但是有些重复: if scr >= 0.9: print('A') elif scr >= 0.8: print('B') elif scr >= 0.7: print('C') elif scr >= 0.6: print('D') else: print('F') 我想知道是否有一种构建函数的方法,以使复合语句不会那么重复。 我是一个初学者,但是会喜欢以下内容: def convertgrade(scr, numgrd, ltrgrd): if scr >= numgrd: return ltrgrd if …

2
全新安装后无法运行apache气流,python导入错误
在使用进行全新安装后pip install apache-airflow,任何运行气流的尝试都会以python导入错误结束: Traceback (most recent call last): File "/Users/\*/env/bin/airflow", line 26, in <module> from airflow.bin.cli import CLIFactory File "/Users/\*/env/lib/python3.7/site-packages/airflow/bin/cli.py", line 70, in <module> from airflow.www.app import (cached_app, create_app) File "/Users/\*/env/lib/python3.7/site-packages/airflow/www/app.py", line 26, in <module> from flask_wtf.csrf import CSRFProtect File "/Users/\*/env/lib/python3.7/site-packages/flask_wtf/__init__.py", line 17, in <module> from .recaptcha import \* File …

3
如何为给定域构建语义搜索
我们正在尝试解决一个问题,即我们想对数据集进行语义搜索,即我们拥有特定领域的数据(例如:谈论汽车的句子) 我们的数据只是一堆句子,我们想要的是给出一个短语并取回以下句子: 类似于该短语 句子的一部分与短语相似 具有上下文相似含义的句子 让我尝试举一个例子,假设我搜索短语“ Buying Experience”,我应该得到如下句子: 我从没想过汽车购买可以花费不到30分钟的时间进行签名和购买。 我找到了我喜欢的汽车,购买过程 简单明了 我绝对讨厌去购物,但今天我很高兴 我想强调的事实是,我们正在寻找上下文相似性,而不仅仅是蛮力的单词搜索。 如果句子使用不同的单词,那么它也应该能够找到它。 我们已经尝试过的事情: 开放式语义搜索我们面临的问题是从我们拥有的数据中生成本体,或者为此而从我们感兴趣的不同领域中搜索可用的本体。 弹性搜索(BM25 + Vectors(tf-idf)),我们尝试了一下,它给出了一些句子,但精度却不高。准确性也很差。我们尝试使用人类策划的数据集,该数据集只能获得大约10%的句子。 我们尝试了不同的嵌入,例如曾经在句子变形器中提到的嵌入,并且还通过了示例,并尝试根据我们人类策划的集合进行评估,而且准确性也很低。 我们尝试了ELMO。这比我们预期的要好,但准确性仍然较低,并且存在决定余弦值的认知负担,低于该值我们不应考虑这些句子。这甚至适用于第3点。 任何帮助将不胜感激。非常感谢您的提前帮助

5
是否为每个变量解栈并返回值计数?
我有一个数据框,其中记录了19717人通过多项选择题对编程语言的选择的回答。第一栏当然是受访者的性别,其余则是他们选择的选项。因此,如果我选择Python,则我的响应将记录在Python列中,而不是bash,反之亦然。 ID Gender Python Bash R JavaScript C++ 0 Male Python nan nan JavaScript nan 1 Female nan nan R JavaScript C++ 2 Prefer not to say Python Bash nan nan nan 3 Male nan nan nan nan nan 我想要的是一个表,该表返回Gender记录下每个类别的实例数。因此,如果用Python用Python编码的5000名男性和用JS编码的3000名女性,那么我应该得到: Gender Python Bash R JavaScript C++ Male 5000 1000 800 …

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.