小编Sup*_*cia的帖子

Python - 在散点处绘制已知大小的矩形

我有一套要点:

a = ([126, 237, 116, 15, 136, 348, 227, 247, 106, 5, -96, 25, 146], [117, 127, 228, 107, 6, 137, 238, 16, 339, 218, 97, -4, -105])
Run Code Online (Sandbox Code Playgroud)

我像这样制作一个散点图:

    fig = plt.figure(figsize = (15,6))
    ax = fig.add_subplot(111)
    ax.scatter(a[0], a[1], color = 'red', s=binradius)
Run Code Online (Sandbox Code Playgroud)

这使得这个情节:

在此输入图像描述

-

我将其与图片重叠,其中每个散点处都有一个球形斑点.我想要适合这个blob,所以我在散点周围定义了一个矩形区域,以便进行拟合.

我想在图上看到这个矩形,以便在视觉上看它们是否足够大以包围blob,如下所示:

在此输入图像描述

我能用scatter吗?或者还有其他方法可以做到吗?

python scatter-plot

9
推荐指数
1
解决办法
2014
查看次数

从Icinga2读取Graphite事件

在我们的实验室中,我们目前使用两个系统来远程监控敏感数量等:

  • Icinga2,作为监视系统,从称为Watchdog的日志记录DAQ中读取数据,并在测量值超过用户定义的阈值时创建警报;

  • Graphite绘制来自Carbon的数据,通过网络或其他方式(保存在磁盘上)并将其存储到网页上,以便远程访问.

到目前为止,我们只能让Icinga2 写入 Graphite上收到的任何内容,以便我们可以看到它.

是否可以从Graphite中读取 Icinga2 ?
还有其他程序直接向Graphite写入内容,并且无法通过DAQ Watchdog从Icinga读取(缺少端口).
理想情况下,我们希望在Graphite上创建警报(Icinga2可以做到).

graphite icinga icinga2 graphite-carbon

7
推荐指数
1
解决办法
419
查看次数

是否有 GUI 可以查看 .npy 文件的内容?

我正在使用 Python 2。

我已将 保存到计算机上的文件中dict。如果我将它作为文本文件打开,就会看到一堆 ASCII 字符,正如人们所期望的那样,因为我不只是保存数组。arrays.npy

我可以np.load在Python控制台中看到它的内容,但我想知道是否有一个GUI可以让我直接查看文件的内容,即不通过Python控制台?

基本上:如果我回去,我会将其保存为jsonhdf5文件,以便我可以使用某些查看器打开它们并可以清楚地看到数据。
没有这样做,并且保存了.npy文件,如果它们是 json 或 hdf5,我可以以类似的方式查看其内容吗?

python numpy save

6
推荐指数
2
解决办法
2万
查看次数

无法从Windows命令提示符运行Spyder3

我下载了Python3,在笔记本电脑上,我已经有Python2,在两个文件夹Python3Python27分别.

我有Windows 10,64位.

Spyder.exe并且Spyder3.exe位于Scripts安装的子文件夹中.

我添加Python27\ScriptsPython3\ScriptsPath环境变量.

打开命令提示符并键入

spyder
Run Code Online (Sandbox Code Playgroud)

在键入时,correcty启动Spyder2

spyder3
Run Code Online (Sandbox Code Playgroud)

结果是:

在此输入图像描述

-

我在网上看到这个错误通常会发生Pip3,因此我尝试升级spyder3,但这并没有解决问题.

有任何想法吗?

python-3.x spyder

6
推荐指数
1
解决办法
319
查看次数

查找用户定义函数的局部最大值和最小值

我想要的是

我想找到固定点的列表,它们的值和位置以及它们是最小值还是最大值。

我的功能看起来像:

import numpy as np

def func(x,y):
  return (np.cos(x*10))**2 + (np.sin(y*10))**2
Run Code Online (Sandbox Code Playgroud)

方法

这是我正在考虑使用的方法:

  1. 我实际上已经在Mathematica上做了类似的事情。我一次又一次地区分函数。我看一下一阶导数为0的点,计算它们的值和位置。然后,我在那些位置取二阶导数,并检查它们是最小值还是最大值。

  2. 我还想知道是否仅对x和y中的函数值进行2D数组化,并找到该数组的最大值和最小值。但这需要我知道如何精确地定义x和y网格,以可靠地捕获函数的行为

对于后一种情况下,我已经找到像某些方面这一个

我只是想知道,哪种方法在效率,速度,准确性甚至Python的优雅方面更有意义?

python numpy minimization

5
推荐指数
1
解决办法
1514
查看次数

找到1d插值函数的最大值/最小值

我有一组数据,我正在插入 kind = 'cubic'.

我想找到这个三次插值函数的最大值.

目前我所做的只是找到插值数据数组中的最大值,但我想知道作为对象的插值函数是否可以区分以找到它的极值?

码:

import numpy as np
from scipy.interpolate import interp1d
import matplotlib.pyplot as plt

x_axis = np.array([ 2.14414414,  2.15270826,  2.16127238,  2.1698365 ,  2.17840062, 2.18696474,  2.19552886,  2.20409298,  2.2126571 ,  2.22122122])
y_axis = np.array([ 0.67958442,  0.89628424,  0.78904004,  3.93404167,  6.46422317, 6.40459954,  3.80216674,  0.69641825,  0.89675386,  0.64274198])

f = interp1d(x_axis, y_axis, kind = 'cubic')

x_new = np.linspace(x_axis[0], x_axis[-1],100)

fig = plt.subplots()
plt.plot(x_new, f(x_new))
Run Code Online (Sandbox Code Playgroud)

python interpolation minimization maximize scipy

5
推荐指数
1
解决办法
2146
查看次数

NameError:类的名称未在类本身内部定义 - python

我有以下代码:

import numpy as np

class ClassProperty(property):
    def __get__(self, cls, owner):
        return self.fget.__get__(None, owner)()

def coord(cls, c):
    if cls.dimension <= 2:
        return c
    else:
        return c + [0]*(cls.dimension-2)

class Basis_NonI(object):

    @ClassProperty
    @classmethod
    def zerocoord(cls):
        return coord(cls, [0,0])   
        
    def __init__(self, dimension):
        pass

class Basis_D(Basis_NonI):
    dimension = 2
    proj_matrix = np.array([Basis_D.zerocoord, Basis_D.zerocoord])
    def __init__(self, dimension):
        super(Basis_D, self).__init__(Basis_D.dimension)
Run Code Online (Sandbox Code Playgroud)

基本上我想要dimensionproj_matrix成为 的类属性Basis_D

当我运行它时,出现以下错误:

proj_matrix = np.array([Basis_D.zerocoord, Basis_D.zerocoord])

NameError:名称“Basis_D”未定义

--

我不明白的是,我可以在 中使用 Basis_D.dimension ,那么为什么当我用它来定义时init它不识别名称?Basis_Dproj_matrix

python methods attributes class

5
推荐指数
1
解决办法
3527
查看次数

python中的数值积分与符号积分

我想看一个函数intensity(r)与空间的图,所以r(径向对称)。

但是,我的强度来自intensity(r) = integrate(integrand(r), (x,0,5)),其中integrand = exp(-x**2) * exp(np.pi*1j*(-x)) * besselj(0, r*x) * x

上面的所有语法都使用了sympy包,所以我首先定义了 x,y = symbols('x r') .


我使用符号变量是因为它似乎使视觉上更容易,r直到最后,当我绘制它并为其分配一个数值时,它才作为变量离开。

然而,用符号变量做那个可怕的积分似乎需要很长时间。

  • 有没有办法用符号变量进行数值积分?

  • 定义r先验值并为每个值找到积分的唯一另一种选择是什么?

python symbolic-math sympy

4
推荐指数
1
解决办法
2499
查看次数

捕获特定的“Windows Error”编号 - python

我正在data_dir = 'parent\child'python 中创建一个新的嵌套目录 ( ):

try:
    os.mkdir(data_dir)
except WindowsError:
    pass   
Run Code Online (Sandbox Code Playgroud)

如果父目录'parent'不存在(但是,因为我可能稍后在代码中进行设置),则代码将其捕获为 aWindows Error 3并继续前进。

然而,现在也可能发生的情况是Windows Error 206文件名或扩展名太长。为此我需要采取单独的行动。


有没有一种方法可以区分Windows Error 3and 206(和其他)以便提高 unique Exceptions

python windows exception

3
推荐指数
1
解决办法
5928
查看次数

在速度,内存和查找方面,在Python中保存`.npz`文件而不是`.npy`有什么好处?

用于numpy.savez保存.npz文件的python文档为:

.npz文件格式是以文件包含的变量命名的压缩文件存档。档案未压缩,档案中的每个文件都包含一个.npy格式的变量。[...]

在加载时打开保存的.npz文件时,将返回NpzFile对象。这是一个类似于字典的对象,可以查询其数组列表(带有.files属性)以及数组本身。

我的问题是:有什么意义numpy.savez

是只是保存多个数组的更优雅的版本(更短的命令),还是在保存/读取过程中加快了速度?它占用更少的内存吗?

python file-io serialization numpy save

3
推荐指数
2
解决办法
2240
查看次数