Questions tagged «python»

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

2
检测图像中的多个矩形
我试图检测这张图片中的管道数。为此,我正在使用OpenCV和基于Python的检测。根据对类似问题的现有答案,我能够提出以下步骤 打开图片 筛选 应用边缘检测 使用轮廓 检查计数 当我们手动给定或取4时,管道的总数约为909。 应用滤镜后 import cv2 import matplotlib.pyplot as plt import numpy as np img = cv2.imread('images/input-rectpipe-1.jpg') blur_hor = cv2.filter2D(img[:, :, 0], cv2.CV_32F, kernel=np.ones((11,1,1), np.float32)/11.0, borderType=cv2.BORDER_CONSTANT) blur_vert = cv2.filter2D(img[:, :, 0], cv2.CV_32F, kernel=np.ones((1,11,1), np.float32)/11.0, borderType=cv2.BORDER_CONSTANT) mask = ((img[:,:,0]>blur_hor*1.2) | (img[:,:,0]>blur_vert*1.2)).astype(np.uint8)*255 我得到了这张蒙面的图像 就显示的可见矩形数量而言,这看起来相当准确。但是,当我尝试进行计数并在图片顶部绘制边框时,它也会选择很多不需要的区域。对于圆,HoughCircles具有定义最大和最小半径的方法。矩形是否有类似的东西可以提高精度。另外,我也乐于接受有关此问题的替代方法的建议。 ret,thresh = cv2.threshold(mask,127,255,0) contours,hierarchy …

1
熊猫的to_excel函数生成意外的TypeError
我创建了一个熊猫数据框字典: d[k] = pd.DataFrame(data=data[i]) 因此,我认为这d[k]是一个正确的熊猫数据框。 然后 for k in d.keys(): d[k].to_excel (file_name) 然后我有错误: TypeError: got invalid input value of type <class 'xml.etree.ElementTree.Element'>, expected string or Element 我正在使用Python 3.7,pandas 0.25.3。 更新:如果我替换to_excel为to_csv,则代码可以完美运行。

3
慢熊猫DataFrame MultiIndex重新索引
我有一个形式的熊猫DataFrame: id start_time sequence_no value 0 71 2018-10-17 20:12:43+00:00 114428 3 1 71 2018-10-17 20:12:43+00:00 114429 3 2 71 2018-10-17 20:12:43+00:00 114431 79 3 71 2019-11-06 00:51:14+00:00 216009 100 4 71 2019-11-06 00:51:14+00:00 216011 150 5 71 2019-11-06 00:51:14+00:00 216013 180 6 92 2019-12-01 00:51:14+00:00 114430 19 7 92 2019-12-01 …

2
约束满足问题缺少一个约束
我是大学的实验室实践导师,根据去年的学生评论,我们希望我和我的老板都能够解决。我的老板选择继续编写C脚本,然后选择python(python-constraint)来尝试解决我们的问题。 资讯资讯 有6节课 有4个角色 有6种做法 有32名学生 每队有4名学生 问题: 在4个不同的阶段的4个练习中,为每个学生分配4个角色。 限制条件: 学生应该做一次角色 学生应在6种中进行4种不同的练习 学生每节只能做一次练习 学生只能见一次同伴 范本: 这是我对学生的感觉模板,每个团队由4个学生组成,职位[0、1、2或3]是分配给他们的角色。每个可用职位的编号从1到128 [# Semester [ # Session [ # Practice/Team 1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]], [[25, 26, …

5
如何解决Alpine docker容器内Flask应用程序的Gunicorn执行程序上引发的``OSError:libc not found''问题
我正在基于Miguel Grinberg的大型教程的Microblog应用程序开发Flask应用程序。代码位于此处:https : //github.com/dnilasor/quickgig。我有一个带有链接的MySQL 5.7容器的可运行docker实现。今天,我使用Flask-Admin模块添加了一个Admin View功能。它通过“ flask run”在Flask服务器上本地服务(OSX)上精美地工作,但是当我构建并运行新的docker镜像(基于python:3.8-alpine)时,它在启动时崩溃并出现OSError: libc not found错误,其代码似乎指示未知的图书馆 在我看来,Gunicorn无法在我添加内容后投放该应用程序。我和我的同学很沮丧! 我最初使用python:3.6-alpine基本图像得到了错误,因此尝试使用3.7和3.8无济于事。我还注意到,一旦在requirements.txt中指定了版本号,便会多余地添加PyMySQL。并再次在dockerfile中明确显示,没有任何规范。删除了requirements.txt条目。还尝试增加Flask-Admin版本号。上和下。还尝试清理数据库迁移,因为我已经看到多个迁移文件导致容器无法启动(诚然,这是在使用SQLite时)。现在只有一个迁移文件,并且基于堆栈跟踪,看起来flask db upgrade工作正常。 我尚未尝试的一件事是不同的基本映像(最少的基本映像?),可以尽快尝试并更新它。但是这个问题对我来说是如此神秘,以至于我认为是时候问其他人是否看过它了:) 我确实发现了这个似乎可能相关的套接字错误,但是应该在python 3.8中已完全修复。 此外FYI我跟着一些建议这里的圆形进口和进口我的管理控制器功能里面create_app。 Dockerfile: FROM python:3.8-alpine RUN adduser -D quickgig WORKDIR /home/quickgig COPY requirements.txt requirements.txt RUN python -m venv venv RUN venv/bin/pip install -r requirements.txt RUN venv/bin/pip install gunicorn pymysql COPY app app COPY …

2
为什么Python集不保留插入顺序?
最近我很惊讶地发现,虽然保证字典可以保留Python 3.7+中的插入顺序,但集合却不能: >>> d = {'a': 1, 'b': 2, 'c': 3} >>> d {'a': 1, 'b': 2, 'c': 3} >>> d['d'] = 4 >>> d {'a': 1, 'b': 2, 'c': 3, 'd': 4} >>> s = {'a', 'b', 'c'} >>> s {'b', 'a', 'c'} >>> s.add('d') >>> s {'d', 'b', …
12 python  set  cpython 

3
如何找到将物品移到堆栈中某个位置的最小移动次数?
给定一组NXP堆栈,其中N为堆栈数,P为堆栈容量,我如何计算从位置A的某个节点移动到任意位置B所需的最小交换数?我正在设计一个游戏,最终目标是对所有堆栈进行排序,以使它们都具有相同的颜色。 # Let "-" represent blank spaces, and assume the stacks are stacks = [ ['R', 'R', 'R', 'R'], ['Y', 'Y', 'Y', 'Y'], ['G', 'G', 'G', 'G'], ['-', '-', '-', 'B'], ['-', 'B', 'B', 'B'] ] 如果我想在插入一个“B” stacks[1][1]这样stacks[1] = ["-", "B", "Y", "Y"]。如何确定所需的最小移动次数? 我一直在研究多种方法,尝试过遗传算法,可以从状态生成所有可能的移动,对它们进行评分,然后继续沿最佳得分路径前进,我还尝试运行Djikstra的算法来对问题进行寻路。看起来很简单,但是我无法找到一种方法来让它在指数时间以外的任何时间运行。我是否缺少适用于此的算法? 编辑 我已经编写了此函数来计算所需的最小移动量:堆栈:表示堆栈中棋子的字符列表,堆栈[0] [0]是堆栈[0]的顶部stack_ind:将要添加到堆栈中的片断的堆栈stacks.exe def calculate_min_moves(stacks, stack_ind, …

5
在NumPy数组中查找到最近零的距离
假设我有一个NumPy数组: x = np.array([0, 1, 2, 0, 4, 5, 6, 7, 0, 0]) 在每个索引处,我想找到最接近零值的距离。如果位置本身是零,则返回零作为距离。之后,我们只对当前位置右边最接近零的距离感兴趣。超级幼稚的方法是这样的: out = np.full(x.shape[0], x.shape[0]-1) for i in range(x.shape[0]): j = 0 while i + j < x.shape[0]: if x[i+j] == 0: break j += 1 out[i] = j 输出将是: array([0, 2, 1, 0, 4, 3, 2, …
12 python  numpy 

1
安装apache-airflow时出现错误[关闭]
关闭。这个问题不能重现或由错别字引起。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 3个月前关闭。 我尝试airflow -version和airflow initdb时出现错误 File "/home/ravi/sandbox/bin/airflow", line 26, in <module> from airflow.bin.cli import CLIFactory File "/home/ravi/sandbox/lib/python3.6/site-packages/airflow/bin/cli.py", line 70, in <module> from airflow.www.app import (cached_app, create_app) File "/home/ravi/sandbox/lib/python3.6/site-packages/airflow/www/app.py", line 37, in <module> from airflow.www.blueprints import routes File "/home/ravi/sandbox/lib/python3.6/site-packages/airflow/www/blueprints.py", line 25, in <module> from airflow.www import utils …
12 python  airflow 

3
使用YOLO或其他图像识别技术来识别图像中存在的所有字母数字文本
我有多个图像图,所有图像图都包含字母数字字符标签,而不仅仅是文本标签本身。我希望我的YOLO模型能够识别其中存在的所有数字和字母数字字符。 我该如何训练我的YOLO模型做同样的事情。数据集可以在这里找到。https://drive.google.com/open?id=1iEkGcreFaBIJqUdAADDXJbUrSj99bvoi 例如:请参阅边界框。我希望YOLO可以检测出文本的任何位置。但是,当前无需识别其中的文本。 这些类型的图像也需要做同样的事情 图像可以在这里下载 这是我使用opencv尝试过的方法,但不适用于数据集中的所有图像。 import cv2 import numpy as np import pytesseract pytesseract.pytesseract.tesseract_cmd = r"C:\Users\HPO2KOR\AppData\Local\Tesseract-OCR\tesseract.exe" image = cv2.imread(r'C:\Users\HPO2KOR\Desktop\Work\venv\Patent\PARTICULATE DETECTOR\PD4.png') gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1] clean = thresh.copy() horizontal_kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (15,1)) detect_horizontal = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, horizontal_kernel, iterations=2) cnts = cv2.findContours(detect_horizontal, cv2.RETR_EXTERNAL, …

6
为什么神经网络会根据自己的训练数据预测错误?
的恩惠到期在19小时。这个问题的答案有资格获得+150声望奖励。 sirjay正在寻找信誉良好的答案。 我制作了带有监督学习的LSTM(RNN)神经网络,用于数据库存预测。问题是为什么它会根据自己的训练数据预测错误?(注意:可复制的示例以下可) 我创建了一个简单的模型来预测未来5天的股价: model = Sequential() model.add(LSTM(32, activation='sigmoid', input_shape=(x_train.shape[1], x_train.shape[2]))) model.add(Dense(y_train.shape[1])) model.compile(optimizer='adam', loss='mse') es = EarlyStopping(monitor='val_loss', patience=3, restore_best_weights=True) model.fit(x_train, y_train, batch_size=64, epochs=25, validation_data=(x_test, y_test), callbacks=[es]) 正确的结果以y_test(5个值)表示,因此对模型进行训练,可以回顾90天的前几天,然后使用以下方法从最佳(val_loss=0.0030)结果中恢复权重patience=3: Train on 396 samples, validate on 1 samples Epoch 1/25 396/396 [==============================] - 1s 2ms/step - loss: 0.1322 - val_loss: 0.0299 Epoch 2/25 …

2
google-cloud-sdk安装由于python语法错误而失败
在“ Linux supermicro 4.15.0-72-generic#81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019 x86_64 x86_64 x86_64 GNU / Linux”上,我在执行“ sudo apt-get install google-cloud- sdk” > Reading package lists... Done Building dependency tree Reading > state information... Done Suggested packages: > google-cloud-sdk-app-engine-java google-cloud-sdk-app-engine-python > google-cloud-sdk-pubsub-emulator google-cloud-sdk-bigtable-emulator > google-cloud-sdk-datastore-emulator kubectl The following NEW packages …
12 python  gcloud  apt  gsutil 

3
查找大型稀疏矩阵的最小特征向量,在SciPy中比在八度中慢100倍以上
我正在尝试计算与大型对称方形稀疏矩阵(最大30000x30000)的最小特征值相对应的少数(5-500)特征向量,其中小于0.1%的特征值为非零。 我目前正在Shift-invert模式(sigma = 0.0)中使用scipy.sparse.linalg.eigsh,我通过有关该主题的各种帖子发现这是首选的解决方案。但是,在大多数情况下,最多需要1小时才能解决该问题。另一方面,如果我要求最大的特征值(系统中的秒数),则该功能非常快,这是文档中所期望的。 由于我对工作中的Matlab更加熟悉,因此我尝试在Octave中解决问题,这在短短几秒钟(不到10秒)内使用eigs(sigma = 0)给出了相同的结果。由于我想对包括特征向量计算在内的算法进行参数扫描,因此在python中也要具有这种时间增益。 我首先更改了参数(尤其是公差),但是在时间尺度上并没有太大变化。 我在Windows上使用Anaconda,但尝试将scipy(这是一个很大的痛苦)使用的LAPACK / BLAS从mkl(默认为Anaconda)切换为OpenBlas(根据文档由Octave使用),但看不到更改性能。 我无法弄清楚所使用的ARPACK是否需要更改(以及如何更改)? 我将以下代码的测试用例上传到了以下Dropbox文件夹:https ://www.dropbox.com/sh/l6aa6izufzyzqr3/AABqij95hZOvRpnnjRaETQmka?dl =0 在Python中 import numpy as np from scipy.sparse import csr_matrix, csc_matrix, linalg, load_npz M = load_npz('M.npz') evals, evecs = linalg.eigsh(M,k=6,sigma=0.0) 在八度音阶中: M=dlmread('M.txt'); M=spconvert(M); [evecs,evals] = eigs(M,6,0); 任何帮助都在申请中! 我根据评论和建议尝试了一些其他选项: 八度: eigs(M,6,0)和eigs(M,6,'sm')给我相同的结果: [1.8725e-05 1.0189e-05 7.5622e-06 7.5420e-07 -1.2239e-18 -2.5674e-16] …

4
类方法和元类方法之间有什么区别?
在Python中,我可以使用 @classmethod装饰器: >>> class C: ... @classmethod ... def f(cls): ... print(f'f called with cls={cls}') ... >>> C.f() f called with cls=<class '__main__.C'> 另外,我可以在元类上使用常规(实例)方法: >>> class M(type): ... def f(cls): ... print(f'f called with cls={cls}') ... >>> class C(metaclass=M): ... pass ... >>> C.f() f called with cls=<class '__main__.C'> 如输出所示 …


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.