从标题来看,是的,有区别.现在适用于我的场景:让我们考虑一个类Dummy:
class Dummy:
def __init__(self):
self.attached = []
def attach_item(self, item):
self.attached.append(item)
Run Code Online (Sandbox Code Playgroud)
如果我用这个:
D = Dummy()
items = [1, 2, 3, 4]
for item in items:
D.attach_item(item)
Run Code Online (Sandbox Code Playgroud)
我确实得到了D.attached = [1, 2, 3, 4].但是如果我将函数映射attach_item到items,则D.attached保持为空.
map(D.attach_item, items)
Run Code Online (Sandbox Code Playgroud)
它在做什么?
我有一个数据列表,其中数字在1000到20000之间.
data = [1000, 1000, 5000, 3000, 4000, 16000, 2000]
Run Code Online (Sandbox Code Playgroud)
当我使用hist()函数绘制直方图时,y轴表示bin中值的出现次数.而不是出现次数,我想有出现的百分比.
上述情节代码:
f, ax = plt.subplots(1, 1, figsize=(10,5))
ax.hist(data, bins = len(list(set(data))))
Run Code Online (Sandbox Code Playgroud)
我一直在看这篇文章,它描述了一个使用的例子,FuncFormatter但我无法弄清楚如何使它适应我的问题.欢迎一些帮助和指导:)
编辑:主要问题与使用的to_percent(y, position)功能FuncFormatter.y对应于y轴上的一个给定值我猜.我需要将这个值除以我显然无法传递给函数的元素总数...
编辑2:由于使用了全局变量,我不喜欢当前的解决方案:
def to_percent(y, position):
# Ignore the passed in position. This has the effect of scaling the default
# tick locations.
global n
s = str(round(100 * y / n, 3))
print (y)
# The percent symbol needs escaping in latex
if matplotlib.rcParams['text.usetex'] …Run Code Online (Sandbox Code Playgroud) 我有一个可能性列表和所需的输入:
possibles = [20, 30, 40, 50, 60, 70, 80, 100]
desired = [20, 30, 40]
Run Code Online (Sandbox Code Playgroud)
我想通过列表生成close.例:
# Distance of 1 (i.e. 1 element changes to a close-by)
[30, 30, 40]
[20, 40, 40]
[20, 30, 30]
[20, 30, 50]
# Distance of 2:
[40, 30, 40]
[30, 30, 50]
[30, 40, 40]
...
Run Code Online (Sandbox Code Playgroud)
我当前的版本一次只改变一个元素,因此,一旦距离超过1,我就会错过很多组合.
def generate_close_by(possibles, desired):
for k in range(1, 4):
for i, elt in enumerate(desired):
id = possibles.index(elt)
new = desired[:]
if id < len(possibles)-k-1:
new[i] = …Run Code Online (Sandbox Code Playgroud) 我将编写一组脚本,每个脚本独立于其他脚本,但有一些相似之处。所有脚本的结构很可能都相同,可能看起来像:
# -*- coding: utf-8 -*-
"""
Small description and information
@author: Author
"""
# Imports
import numpy as np
import math
from scipy import signal
...
# Constant definition (always with variable in capital letters)
CONSTANT_1 = 5
CONSTANT_2 = 10
# Main class
class Test():
def __init__(self, run_id, parameters):
# Some stuff not too important
def _run(self, parameters):
# Main program returning a result object.
Run Code Online (Sandbox Code Playgroud)
对于每个脚本,我想编写文档并将其导出为 PDF。我需要一个库/模块/解析器来读取脚本、提取注释、代码并将其重新组合成所需的输出格式。
例如,在_run()方法中,注释中可能有几个详细的步骤:
def _run(self, parameters):
# Step 1: we start …Run Code Online (Sandbox Code Playgroud) 由于有边界效应,我先剪掉边界,看第一个和最后一个最小值,保留N个周期。
然后,我计算 FFT。
代码:
import numpy as np
from matplotlib import pyplot as plt
# The list of a periodic something
L = [2.762, 2.762, 1.508, 2.758, 2.765, 2.765, 2.761, 1.507, 2.757, 2.757, 2.764, 2.764, 1.512, 2.76, 2.766, 2.766, 2.763, 1.51, 2.759, 2.759, 2.765, 2.765, 1.514, 2.761, 2.758, 2.758, 2.764, 1.513, 2.76, 2.76, 2.757, 2.757, 1.508, 2.763, 2.759, 2.759, 2.766, 1.517, 4.012]
# Round because there is a slight variation around actually equals values: 2.762, 2.761 or 1.508, 1.507 …Run Code Online (Sandbox Code Playgroud) 我有 spyder 的问题。
我刚刚在这台笔记本电脑上安装了 Python 3.7 和 Spyder,就像我在许多其他笔记本电脑上所做的那样。然而这一次,它不起作用。
我是Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32用安装程序安装的。我将路径更改为自定义路径:C:\Python\Python37,我添加了预编译库并添加了环境的路径。笔记本电脑在那时重新启动。
然后我更新了pip:
py -3.7 -m pip install --upgrade pip
Run Code Online (Sandbox Code Playgroud)
然后我安装了spyder:
py -3.7 -m pip install spyder
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用该文件启动 spyder:
C:\Python\Pythno37\Lib\site-packages\spyder\app\start.py
Run Code Online (Sandbox Code Playgroud)
我收到错误:
ModuleNotFoundError: No module named 'PyQt5.QtWebKitWidgets'
Run Code Online (Sandbox Code Playgroud)
PyQt5 随版本 5.12 一起安装。
不知道为什么它不起作用......
编辑:完整的错误信息:
它表明问题来自qtpy. 但是,相应的文件导入:
from . import PYQT5,PYSIDE2, PYQT4, PYSIDE, PythonQtError
# To test if we are using WebEngine or WebKit
WEBENGINE = True …Run Code Online (Sandbox Code Playgroud) 我有一个嘈杂的方形信号,看起来像这样:
幅度是已知的。为了匹配完整的正方形,我可以创建正方形的图案并应用np.correlate以查找信号和图案最大重叠的位置。我想应用类似的方法来找到边缘,尝试与以下 2 种模式相关联:
由于相关性只不过是卷积,因此这不起作用。一半的模式等于0,0无论信号上的位置如何,这一半的卷积都会返回;而另一半-X与X振幅相等。当信号幅度最大时,与信号卷积的后半部分将是最大的。在信号图上,您可以观察到正方形并不完美,开头的幅度稍大。基本上,两种相关性都会导致正方形开始处的匹配,其中卷积最大。未检测到斜坡上升(方格末端)。
为了避免这个问题,我想使用不同的操作。因为我知道方波信号的幅度,所以我可以生成具有正确幅度的模式,在这种情况下约为-0.3。因此,我想采用该模式并将其滑过信号。在每一步,我都会计算均方误差,我的模式将与均方误差最小化位置处的信号匹配。此外,我想使用与卷积“有效”相同类型的设置,其中仅当 2 个数组完全重叠时才执行操作。
你知道另一种方法吗?和/或我应该使用哪个功能、方法?我找不到多合一的功能行np.convolve或np.correlate.
编辑:由于我在库中找不到预编码的函数,所以我用 while 循环对我的函数进行了编码。这是非常低效的......它是由这里的代码审查升级。
假设 sphinx 的文档结构如下:
doc
|_ _static
|_ _templates
|_ api
|_ index.rst
|_ classes.rst
|_ functions.rst
|_ index.rst
|_ more_functions.rst
|_ conf.py
Run Code Online (Sandbox Code Playgroud)
并且classes.rst,functions.rst并且more_functions.rst具有可以使用 来自动记录的类和函数autodoc/autosummary。构建将为.rst这些类和函数生成文件:
doc/generated为了more_functions.rstdoc/api/generated对于classes.rst和functions.rst有没有办法控制这些generated文件夹的创建位置?
我试图generated最终获得一个独特的文件夹。在这种情况下,采用以下结构:
doc
|_ generated
|_ generated-from-more-functions.rst
|_ api
|_ generated-from-api/classes.rst
|_ generated-from-api/functions-rst
Run Code Online (Sandbox Code Playgroud) 当我在spyder(python 3.6.5)上读取我的.pkl文件时出现以下错误:
IN: with open(file, "rb") as f:
data = pickle.load(f)
Traceback (most recent call last):
File "<ipython-input-5-d9796b902b88>", line 2, in <module>
data = pickle.load(f)
AttributeError: Can't get attribute 'Signal' on <module '__main__' from 'C:\\Python36\\lib\\site-packages\\spyder\\utils\\ipython\\start_kernel.py'>
Run Code Online (Sandbox Code Playgroud)
上下文:
我的程序由一个文件组成:program.py
在程序中,Signal定义了一个类以及许多函数.下面提供了该计划的简要概述:
import numpy as np
import _pickle as pickle
import os
# The unique class
class Signal:
def __init__(self, fq, t0, tf):
self.fq = fq
self.t0 = t0
self.tf = tf
self.timeline = np.round(np.arange(t0, tf, 1/fq*1000), 3)
# The functions …Run Code Online (Sandbox Code Playgroud) 我正在尝试查看该pyproject.toml文件,但我陷入了这个简单的任务。考虑以下可选依赖项:
[project.optional-dependencies]
style = ["black", "codespell", "isort", "flake8"]
test = ["pytest", "pytest-cov"]
all = ["black", "codespell", "isort", "flake8", "pytest", "pytest-cov"]
Run Code Online (Sandbox Code Playgroud)
有没有办法避免复制/粘贴密钥中的所有可选依赖项all?all = style + test至少有办法做到吗?
python ×10
python-3.x ×3
spyder ×2
autodoc ×1
combinations ×1
convolution ×1
correlation ×1
fft ×1
function ×1
iterable ×1
matplotlib ×1
numpy ×1
pickle ×1
pyqt5 ×1
toml ×1