Tag: scipy

用NumPy快速旋转张量

在应用程序的核心(用Python编写,使用NumPy )我需要旋转一个四阶张量。 实际上,我需要旋转许多张力,这是我的瓶颈。 我涉及八个嵌套循环的天真实现(下面)似乎很慢,但是我看不到一种方法来利用NumPy的matrix运算,希望能够加快速度。 我有一种感觉,我应该使用np.tensordot ,但我不知道如何。 在math上,旋转张量的元素T'由下式给出:其中,总和在右侧的重复指数之上。 T和Tprime是3 * 3 * 3 * 3的NumPy数组,旋转matrixg是3 * 3的NumPy数组。 我的执行速度很慢(每次调用时间大约为0.04秒)。 #!/usr/bin/env python import numpy as np def rotT(T, g): Tprime = np.zeros((3,3,3,3)) for i in range(3): for j in range(3): for k in range(3): for l in range(3): for ii in range(3): for jj in range(3): for kk […]

如何检查scipy的版本

我怎样才能检查我的系统上安装的scipy的版本?

Python中可转换的STFT和ISTFT

是否有任何通用的短时傅立叶变换forms,并在SciPy或NumPy中内置相应的逆变换? 在matplotlib中有pyplot specgram函数,它调用ax.specgram() ,它调用mlab.specgram() ,它调用_spectral_helper() : #The checks for if y is x are so that we can use the same function to #implement the core of psd(), csd(), and spectrogram() without doing #extra calculations. We return the unaveraged Pxy, freqs, and t. 但 这是一个帮助函数,实现204 #psd,csd和频谱图之间的通用性。 这并不意味着在mlab之外使用 不过,我不确定这是否可以用来做STFT和ISTFT。 还有什么,或者我应该翻译像这些MATLAB函数 ? 我知道如何编写我自己的临时实现; 我只是寻找一些function齐全的,可以处理不同的窗口function(但有一个理智的默认),完全可逆COLA窗口( istft(stft(x))==x ),由多人testing,没有逐个错误,处理结束和零填充,为实际input快速RFFT实现等。

使用h5py在Python中对大数据进行分析工作的经验?

我做了很多统计工作,并使用Python作为我的主要语言。 我使用的一些数据集可能需要20GB的内存,这使得在numpy,scipy和PyIMSL中使用内存中的函数几乎不可能。 统计分析语言SAS在这方面具有很大的优势,它可以对硬盘数据进行操作,而不是严格按照内存处理。 但是,我想避免在SAS中编写大量代码(出于各种原因),因此我正试图确定我有哪些Python选项(除了购买更多的硬件和内存)。 我应该澄清,像map-reduce这样的方法在我的大部分工作中都没有帮助,因为我需要对整套数据进行操作(例如计算分位数或拟合逻辑回归模型)。 最近我开始玩h5py,并认为这是我发现允许Python像SAS一样操作并通过磁盘(通过hdf5文件)操作数据的最佳select,同时仍然可以利用numpy / scipy / matplotlib等。想听听有没有人在类似的环境中使用Python和h5py,以及他们发现了什么。 有没有人能够在迄今为止由SAS主导的“大数据”设置中使用Python? 编辑:购买更多的硬件/内存当然可以提供帮助,但从IT的angular度来看,我很难将Python卖给需要分析庞大数据集的组织,当Python(或R或MATLAB等)需要将数据保存在内存。 SAS在这里仍然有很强的卖点,因为虽然基于磁盘的分析可能会比较慢,但您可以自信地处理大量的数据集。 所以,我希望Stackoverflower能够帮助我找出如何减less使用Python作为主要的大数据分析语言的感知风险。

如何在Python中绘制matplotlib中的经验cdf?

如何在Python中绘制matplotlib中的数字数组的经验CDF? 我正在寻找pylab的“hist”函数的cdf模拟。 我能想到的一件事是: from scipy.stats import cumfreq a = array([…]) # my array of numbers num_bins = 20 b = cumfreq(a, num_bins) plt.plot(b) 那是正确的吗? 有更简单/更好的方法吗? 谢谢。

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

我正在寻找一个类似meshgrid函数的明确比较。 不幸的是我没有find它! Numpy http://docs.scipy.org/doc/numpy/reference/提供 mgrid ogrid meshgrid Scitools http://hplgit.github.io/scitools/doc/api/html/index.html提供 ndgrid boxgrid 理想情况下,总结这一切的表格将是完美的!

我如何使用scipy进行二维插值?

本问答旨在作为关于使用scipy进行二维(和多维)插值的规范(-ish)。 关于各种多维插值方法的基本语法常常有问题,我希望也可以直接设置这些。 我有一组分散的二维数据点,我想绘制它们作为一个很好的表面,最好是在matplotlib.pyplot使用类似contourf或plot_surface东西。 我怎么能插入我的二维或多维数据使用scipy网格? 我find了scipy.interpolate子包,但是在使用interp2d或者bisplrep或者griddata或者bisplrep时候,我总是收到错误。 这些方法的正确语法是什么?

使用SciPy的分位数分位数图

你将如何使用Python创build一个qq图? 假设您有一大组测量值并正在使用一些以XY值作为input的绘图函数。 这个函数应该把测量的分位数与相应的分布(正常的,统一的)的分位数进行比较。 由此产生的情节让我们接着评估我们的测量是否遵循假定的分布。 http://en.wikipedia.org/wiki/Quantile-quantile_plot R和Matlab都为此提供了现成的函数,但是我想知道在Python中实现的最干净的方法是什么。

在Python中稀疏的3dmatrix/数组?

在scipy中,我们可以使用scipy.sparse.lil_matrix()等构造一个稀疏matrix,但matrix在2d中。 我想知道在Python中是否有稀疏的3Dmatrix/数组(张量)的现有数据结构? ps我有很多稀疏的3D数据,需要张量来存储/执行乘法。 如果没有现有的数据结构,有什么build议来实现这样一个张量?

Numpy:用vector元素划分每一行

假设我有一个numpy数组: data = np.array([[1,1,1],[2,2,2],[3,3,3]]) 我有一个相应的“vector:” vector = np.array([1,2,3]) 我如何操作每一行的data来减去或分开,结果是: sub_result = [[0,0,0], [0,0,0], [0,0,0]] div_result = [[1,1,1], [1,1,1], [1,1,1]] 长话短说:我如何使用与每行对应的一维标量数组对一个二维数组的每一行执行操作?