标签: scipy

如何检查scipy的版本

如何查看scipy系统上安装的版本?

python scipy

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

shuffle vs permute numpy

numpy.random.shuffle(x)和之间有什么区别numpy.random.permutation(x)

我已经阅读了doc页面,但是当我想随机改组数组元素时,我无法理解两者之间是否存在任何差异.

更确切地说,假设我有一个数组x=[1,4,2,8].

如果我想生成x的随机排列,那么shuffle(x)和之间的区别是permutation(x)什么?

python numpy shuffle permutation scipy

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

MatPlotLib:同一散点图上的多个数据集

我想在同一个散点图上绘制多个数据集:

cases = scatter(x[:4], y[:4], s=10, c='b', marker="s")
controls = scatter(x[4:], y[4:], s=10, c='r', marker="o")

show()
Run Code Online (Sandbox Code Playgroud)

以上仅显示最新的 scatter()

我也尝试过:

plt = subplot(111)
plt.scatter(x[:4], y[:4], s=10, c='b', marker="s")
plt.scatter(x[4:], y[4:], s=10, c='r', marker="o")
show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib scipy

65
推荐指数
3
解决办法
14万
查看次数

在Python中绘制快速傅里叶变换

我可以访问numpy和scipy,并希望创建一个简单的数据集FFT.我有两个列表,一个是y值,另一个是y值的时间戳.

将这些列表提供给scipy或numpy方法并绘制结果FFT的最简单方法是什么?

我查了一些示例,但它们都依赖于创建一组具有一定数量的数据点和频率等的假数据,并没有真正展示如何使用一组数据和相应的时间戳来实现它.

我尝试过以下示例:

from scipy.fftpack import fft
# Number of samplepoints
N = 600
# sample spacing
T = 1.0 / 800.0
x = np.linspace(0.0, N*T, N)
y = np.sin(50.0 * 2.0*np.pi*x) + 0.5*np.sin(80.0 * 2.0*np.pi*x)
yf = fft(y)
xf = np.linspace(0.0, 1.0/(2.0*T), N/2)
import matplotlib.pyplot as plt
plt.plot(xf, 2.0/N * np.abs(yf[0:N/2]))
plt.grid()
plt.show()
Run Code Online (Sandbox Code Playgroud)

但是当我将fft的参数更改为我的数据集并绘制它时,我得到了非常奇怪的结果,看起来频率的缩放可能会关闭.我不确定.

这是我试图FFT的数据的pastebin

http://pastebin.com/0WhjjMkb http://pastebin.com/ksM4FvZS

当我在整个事情上做一个fft时,它只有一个零的巨大尖峰而没有别的

这是我的代码:

## Perform FFT WITH SCIPY
signalFFT = fft(yInterp)

## Get Power Spectral Density
signalPSD = np.abs(signalFFT) ** 2

## …
Run Code Online (Sandbox Code Playgroud)

python numpy fft scipy

65
推荐指数
7
解决办法
22万
查看次数

如何在64位Windows上安装SciPy?

如何在我的系统上安装SciPy?

对于NumPy部分(SciPy依赖),实际上有64位Windows的安装程序:numpy-1.3.0.win-amd64-py2.6.msi(直接下载URL,2310144字节).

运行SciPy superpack安装程序会在对话框中显示以下消息:

无法安装.需要Python 2.6版,这在注册表中找不到.

我已经安装了Python 2.6.2(并在其中安装了一个有效的Django),但我不知道任何注册表故事.

注册表项似乎已经存在:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Python]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\Help]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\Help\Main Python Documentation]
@="D:\\Python262\\Doc\\python262.chm"

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath]
@="D:\\Python262\\"

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath\InstallGroup]
@="Python 2.6"

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\Modules]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\PythonPath]
@="D:\\Python262\\Lib;D:\\Python262\\DLLs;D:\\Python262\\Lib\\lib-tk"
Run Code Online (Sandbox Code Playgroud)

到目前为止我做了什么:

步骤1

下载NumPy superpack安装程序numpy-1.3.0rc2-win32-superpack-python2.6.exe(直接下载URL,4782592字节).运行此安装程序会产生相同的消息,"无法安装.需要Python版本2.6,这在注册表中找不到.". 更新:实际上NumPy的安装程序有效 - 请参阅问题的开头.

第2步

试图以另一种方式安装NumPy.下载了zip包numpy-1.3.0rc2.zip(直接下载URL,2404011字节),以正常方式将zip文件解压缩到临时目录,D:\ temp7 \numpy-1.3.0rc2(其中setup.py和README) .txt是).然后我打开了一个命令行窗口,然后:

d:
cd D:\temp7\numpy-1.3.0rc2
setup.py install
Run Code Online (Sandbox Code Playgroud)

这运行了很长时间,还包括使用cl.exe(Visual Studio的一部分).这是一个近5000行长的 成绩单(230 KB).

这似乎有效.我现在可以用Python做到这一点:

import numpy as np
np.random.random(10)
Run Code Online (Sandbox Code Playgroud)

结果如下:

array([ 0.35667511,  0.56099423,  0.38423629,  0.09733172,  0.81560421,
        0.18813222,  0.10566666,  0.84968066,  0.79472597,  0.30997724])
Run Code Online (Sandbox Code Playgroud)

第3步

下载了SciPy superpack安装程序,scipy-0.7.1rc3- win32-superpack-python2.6.exe(直接下载URL,45597175字节).运行此安装程序会导致在开头列出消息

第4步 …

python windows 64-bit numpy scipy

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

在SciPy中创建低通滤波器 - 了解方法和单位

我试图用python过滤嘈杂的心率信号.因为心率不应该是每分钟约220次心跳,我想过滤掉220bpm以上的所有噪音.我将220 /分钟转换为3.66666666赫兹,然后将赫兹转换为rad/s得到23.0383461 rad/sec.

采集数据的芯片采样频率为30Hz,因此我将其转换为rad/s,得到188.495559 rad/s.

在线查找了一些东西之后,我发现了一些带通滤波器的功能,我想把它变成低通.这是带通代码的链接,所以我将其转换为:

from scipy.signal import butter, lfilter
from scipy.signal import freqs

def butter_lowpass(cutOff, fs, order=5):
    nyq = 0.5 * fs
    normalCutoff = cutOff / nyq
    b, a = butter(order, normalCutoff, btype='low', analog = True)
    return b, a

def butter_lowpass_filter(data, cutOff, fs, order=4):
    b, a = butter_lowpass(cutOff, fs, order=order)
    y = lfilter(b, a, data)
    return y

cutOff = 23.1 #cutoff frequency in rad/s
fs = 188.495559 #sampling frequency in rad/s
order = 20 #order of …
Run Code Online (Sandbox Code Playgroud)

python filtering signal-processing scipy

64
推荐指数
1
解决办法
12万
查看次数

Numpy调整大小/重新缩放图像

我想拍摄图像并改变图像的比例,而它是一个numpy数组.

例如,我有一个可口可乐瓶的图像: 瓶-1

这转换为一个numpy形状的形状(528, 203, 3),我想调整大小来说明第二个图像的大小: bottle-2

其中有一个形状(140, 54, 3).

如何在保持原始图像的同时将图像大小更改为特定形状?其他答案建议剥离所有其他或第三行,但我想要做的是基本上缩小图像如何通过图像编辑器,但在python代码.在numpy/SciPy中有没有任何库可以做到这一点?

python resize numpy image scipy

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

错误:无法为使用 PEP 517 且无法直接安装的 scipy 构建轮子

我正在尝试通过 pip 在我的 64 位 ARMV8 板上安装 scipy。我已经安装了 scipy 所需的 openblas。所以,没有问题。当我给时pip3 install scipy --trusted-host pypi.org --trusted-host files.pythonhosted.org,我收到错误Failed building wheel for scipy。我有 pip3 和 pip3.5,/usr/bin其余的 pip 都在/usr/lib64/python3.5/site-packages。所以基本上,我也有 pip。

我还尝试使用--no-binary选项安装 scipy ,这是网络上的答案之一。但是,它给了我同样的错误。下面是我得到的错误。

错误:

Collecting scipy
  Downloading scipy-1.4.1.tar.gz (24.6 MB)
     |################################| 24.6 MB 6.6 MB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Building wheels for collected packages: scipy
  Building wheel for scipy (PEP …
Run Code Online (Sandbox Code Playgroud)

python pip scipy embedded-linux python-wheel

64
推荐指数
8
解决办法
13万
查看次数

如何删除numpy.array中的列

我想删除numpy.array中的选定列.这就是我做的:

n [397]: a = array([[ NaN,   2.,   3., NaN],
   .....:        [  1.,   2.,   3., 9]])

In [398]: print a
[[ NaN   2.   3.  NaN]
 [  1.   2.   3.   9.]]

In [399]: z = any(isnan(a), axis=0)

In [400]: print z
[ True False False  True]

In [401]: delete(a, z, axis = 1)
Out[401]:
 array([[  3.,  NaN],
       [  3.,   9.]])
Run Code Online (Sandbox Code Playgroud)

在此示例中,我的目标是删除包含NaN的所有列.我希望最后一个命令导致:

array([[2., 3.],
       [2., 3.]])
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

python numpy scipy

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

Python中的稀疏3d矩阵/数组?

在scipy中,我们可以使用scipy.sparse.lil_matrix()等构造一个稀疏矩阵.但矩阵在2d.

我想知道在Python中是否存在稀疏3d矩阵/数组(张量)的现有数据结构?

ps我在3d中有很多稀疏数据,需要一个张量来存储/执行乘法.如果没有现有的数据结构,是否有任何建议来实现这样的张量?

python numpy scipy sparse-matrix

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