python - 向数据添加更多样本点

标签 python numpy scipy

给定一些形状为 20x45 的数据,其中每一行都是一个单独的数据集,比如 20 条不同的正弦曲线,每条有 45 个数据点,我将如何获得相同的数据,但形状为 20x100?

换句话说,我有一些形状为 20x45 的数据 A 和一些长度为 20x100 的数据 B,我希望 A 的形状为 20x100,以便更好地比较它们。

这适用于 Python 和 Numpy/Scipy。

我假设它可以用样条曲线来完成,所以我正在寻找一个简单的例子,可能只是 2x10 到 2x20 或类似的东西,其中每一行只是一条线,来演示解决方案。

谢谢!

最佳答案

当我输入这个例子时,Ubuntu 打败了我,但他的例子只是使用线性插值,这可以用 numpy.interpolate 更容易地完成...(区别只是 scipy.interpolate.interp1d 中的关键字参数,但是)。

我想我会包括我的示例,因为它显示了使用 scipy.interpolate.interp1d 和三次样条...

import numpy as np
import scipy as sp
import scipy.interpolate
import matplotlib.pyplot as plt

# Generate some random data
y = (np.random.random(10) - 0.5).cumsum()
x = np.arange(y.size)

# Interpolate the data using a cubic spline to "new_length" samples
new_length = 50
new_x = np.linspace(x.min(), x.max(), new_length)
new_y = sp.interpolate.interp1d(x, y, kind='cubic')(new_x)

# Plot the results
plt.figure()
plt.subplot(2,1,1)
plt.plot(x, y, 'bo-')
plt.title('Using 1D Cubic Spline Interpolation')

plt.subplot(2,1,2)
plt.plot(new_x, new_y, 'ro-')

plt.show()

alt text

关于python - 向数据添加更多样本点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4072844/

相关文章:

python - Windows 中多显示器设置的每个屏幕都有不同的墙纸

python - 使用pivot_table时同时对aggfunc应用两个numpy函数

python - 有没有办法置换矩阵的子集?

Python Numpy 数据类型性能

python - 如何在 scipy.integrate.simps 或 numpy.trapz 之间做出选择?

numpy - scikit-image:平均过滤器更改 dtype

python - 没有分配的列表理解

jquery 无法从 CDN 与 django 模板一起工作

python - PyDev 调试 : do not open "_pydev_execfile" at the end

python - 计算 Pandas 几列中项目的平均值