标签: scipy

以便携式数据格式保存/加载scipy稀疏csr_matrix

如何csr_matrix以便携式格式保存/加载scipy稀疏?scipy稀疏矩阵在Python 3(Windows 64位)上创建,以在Python 2(Linux 64位)上运行.最初,我使用了pickle(使用protocol = 2和fix_imports = True),但这从Python 3.2.2(Windows 64位)到Python 2.7.2(Windows 32位)不起作用并得到错误:

TypeError: ('data type not understood', <built-in function _reconstruct>, (<type 'numpy.ndarray'>, (0,), '[98]')).
Run Code Online (Sandbox Code Playgroud)

接下来,尝试过numpy.save,numpy.load以及scipy.io.mmwrite()并且scipy.io.mmread()这些方法都没有奏效.

python numpy scipy

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

在matplotlib中绘制条形高度总和为1的直方图

我想使用matplotlib从矢量绘制标准化的直方图.我尝试了以下方法:

plt.hist(myarray, normed=True)
Run Code Online (Sandbox Code Playgroud)

以及:

plt.hist(myarray, normed=1)
Run Code Online (Sandbox Code Playgroud)

但是这两个选项都没有从[0,1]生成y轴,使得直方图的条形高度总和为1.我想生成这样的直方图 - 我该怎么做?

谢谢!

python numpy graph matplotlib scipy

75
推荐指数
5
解决办法
13万
查看次数

如何制作scipy.interpolate给出超出输入范围的外推结果?

我正在尝试移植一个程序,该程序使用手动插值器(由数学家大学开发)来使用scipy提供的插值器.我想使用或包装scipy插值器,使其尽可能接近旧插值器的行为.

两个函数之间的关键区别在于我们的原始插值器 - 如果输入值高于或低于输入范围,我们的原始插值器将推断结果.如果你用scipy插值器尝试这个,它会引发一个ValueError.以此程序为例:

import numpy as np
from scipy import interpolate

x = np.arange(0,10)
y = np.exp(-x/3.0)
f = interpolate.interp1d(x, y)

print f(9)
print f(11) # Causes ValueError, because it's greater than max(x)
Run Code Online (Sandbox Code Playgroud)

是否有一种明智的方法可以使它不会崩溃,最后一行只是做一个线性推断,将第一个和最后两个点定义的渐变延续到无穷大.

请注意,在真实软件中我实际上并没有使用exp函数 - 这只是为了说明!

python math numpy scipy

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

如何使用Scipy.signal.butter实现带通巴特沃斯滤波器

更新:

我找到了一个基于这个问题的Scipy Recipe!所以,对于任何有兴趣的人,请直接:

http://scipy-cookbook.readthedocs.io/items/ButterworthBandpass.html


我很难实现最初为一维numpy阵列(时间序列)实现Butterworth带通滤波器的简单任务.

我必须包括的参数是sample_rate,截止频率IN HERTZ和可能的顺序(其他参数,如衰减,固有频率等对我来说更加模糊,因此任何"默认"值都可以).

我现在拥有的是这个,它似乎是一个高通滤波器,但我不确定我是否做得对:

def butter_highpass(interval, sampling_rate, cutoff, order=5):
    nyq = sampling_rate * 0.5

    stopfreq = float(cutoff)
    cornerfreq = 0.4 * stopfreq  # (?)

    ws = cornerfreq/nyq
    wp = stopfreq/nyq

    # for bandpass:
    # wp = [0.2, 0.5], ws = [0.1, 0.6]

    N, wn = scipy.signal.buttord(wp, ws, 3, 16)   # (?)

    # for hardcoded order:
    # N = order

    b, a = scipy.signal.butter(N, wn, btype='high')   # should 'high' be here for bandpass?
    sf = scipy.signal.lfilter(b, a, …
Run Code Online (Sandbox Code Playgroud)

python signal-processing scipy digital-filter

73
推荐指数
3
解决办法
10万
查看次数

在Python中给出mean,std给出正态分布的概率

如何在Python中给出mean,std给出正态分布的概率?我总是可以根据像这个问题中的OP这样的定义明确地编写我自己的函数:在Python中的分布中计算随机变量的概率

只是想知道是否有一个库函数调用将允许你这样做.在我的想象中它会这样:

nd = NormalDistribution(mu=100, std=12)
p = nd.prob(98)
Run Code Online (Sandbox Code Playgroud)

在Perl中有一个类似的问题:如何在Perl中给出正态分布的点处计算概率?.但我没有在Python中看到一个.

Numpy有一个random.normal功能,但它就像采样,而不是我想要的.

python statistics probability scipy

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

使用SciPy的分位数 - 分位数图

你会如何使用Python创建一个qq-plot?

假设您有大量测量并且正在使用一些以XY值作为输入的绘图功能.该函数应绘制测量的分位数与某些分布的相应分位数(正态,均匀......).

得到的图表让我们在测量中评估是否遵循假定的分布.

http://en.wikipedia.org/wiki/Quantile-quantile_plot

R和Matlab都为此提供了现成的函数,但我想知道在Python中实现最干净的方法是什么.

python statistics scipy

73
推荐指数
4
解决办法
8万
查看次数

scipy:savefig没有框架,轴,只有内容

在numpy/scipy中,我有一个存储在数组中的图像.我可以显示它,我想使用savefig 没有任何边框,轴,标签,标题保存它...只是纯粹的图像,没有别的.

我想避免使用PyPNG或者包装scipy.misc.imsave,它们有时会出现问题(它们并不总是安装得很好,savefig()对我来说只是基本的

python numpy image matplotlib scipy

72
推荐指数
8
解决办法
5万
查看次数

Python中的网格网格函数(meshgrid mgrid ogrid ndgrid)

我正在寻找类似网格网格函数的清晰比较.不幸的是我找不到它!

Numpy http://docs.scipy.org/doc/numpy/reference/提供

  • mgrid

  • ogrid

  • meshgrid

Scitools http://hplgit.github.io/scitools/doc/api/html/index.html提供

  • ndgrid

  • boxgrid

理想情况下,总结所有这些的表格将是完美的!

python numpy scipy

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

重新采样表示图像的numpy数组

我正在寻找如何重新采样以新尺寸表示图像数据的numpy数组,最好选择插值方法(最近,双线性等).我知道有

scipy.misc.imresize
Run Code Online (Sandbox Code Playgroud)

这通过包装PIL的调整大小功能来完成这一点.唯一的问题是,因为它使用PIL,numpy数组必须符合图像格式,给我最多4个"颜色"通道.

我希望能够使用任意数量的"颜色"通道调整任意图像的大小.我想知道是否有一种简单的方法可以在scipy/numpy中执行此操作,或者如果我需要自己滚动.

关于如何自己编造一个我有两个想法:

  • 一个scipy.misc.imresize分别在每个通道上运行的函数
  • 创建我自己的使用 scipy.ndimage.interpolation.affine_transform

对于大数据,第一个可能会很慢,而第二个似乎不提供除样条之外的任何其他插值方法.

python numpy image-processing scipy python-imaging-library

70
推荐指数
4
解决办法
8万
查看次数

如何将numpy.matrix或数组转换为scipy稀疏矩阵

对于SciPy稀疏矩阵,可以使用todense()toarray()转换为NumPy矩阵或数组.反向的功能是什么?

我搜索过,但不知道哪些关键字应该是正确的.

python numpy scipy sparse-matrix

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