首页 > 解决方案 > python中的“拉伸”数据集

问题描述

我有一个t1想要扩展的数据集。正如您在下面看到的,它的长度为 9。我可以在不添加填充值的情况下将其拉伸到 30 的长度吗?理想情况下,应尽可能保留数据集的属性(例如值如何变化)。谁能给我一些提示/建议?

t1=[106.7, 106.7, 99.94, 95.83, 92.84, 90.44, 88.3, 86.12, 82.22, 77.2]
plt.plot(range(0,len(t1)), t1)
plt.legend()

在此处输入图像描述


使用缩放重新缩放的数据集: 在此处输入图像描述


我采用了不同的数据集并用平均值重新调整:

t1= [144.8025, 144.3592, 143.6091, 142.5525, 141.1892, 139.5193, 137.5428, 135.2597, 132.6699, 129.7736, 126.5706, 123.061, 119.2447, 115.1218, 110.6924, 105.9563, 100.9135, 95.5642, 89.9082, 83.9456, 77.6764, 71.1005, 64.2181, 57.029, 49.5333, 41.7309, 33.622, 25.2064, 16.4842, 7.4554, 144.7695, 144.293, 143.5099, 142.4202, 141.0239, 139.3209, 137.3113, 134.9951, 132.3723, 129.4428, 126.2068, 122.6641, 118.8148, 114.6588, 110.1963, 105.4271, 100.3513, 94.9689, 89.2798, 83.2841, 76.9818, 70.3729, 63.4574, 56.2352, 48.7064, 40.871, 32.729, 24.2804, 15.5251, 6.4632, 141.1892, 139.5193, 137.5428, 135.2597, 132.6699, 129.7736, 126.5706, 123.061, 119.2447, 115.1218, 110.6924, 105.9563, 100.9135, 95.5642, 89.9082, 83.9456, 77.6764, 71.1005, 64.2181, 57.029, 49.5333, 41.7309, 33.622, 25.2064, 16.4842, 7.4554]

在此处输入图像描述


固定大小的单独图中的上图plt.figure(figsize=(12, 6))

在此处输入图像描述 在此处输入图像描述

标签: pythonstatisticsdatasetpattern-matching

解决方案


听起来你想重新采样你的数组。

有很多方法可以做到这一点,但我最喜欢的是zoom图书馆scipyhttps ://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.ndimage.interpolation.zoom.html

from scipy.ndimage.interpolation import zoom
import numpy as np

# original array:
x = np.array([106.7, 106.7, 99.94, 95.83, 92.84, 90.44, 88.3, 86.12, 82.22, 77.2])

# set resample ratio:
resample_ratio = 30 / len(x)

# resample array:
y = zoom(x, resample_ratio)

推荐阅读