python - 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))
解决方案
听起来你想重新采样你的数组。
有很多方法可以做到这一点,但我最喜欢的是zoom
图书馆scipy
:
https ://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)
推荐阅读
- git - git pull master 错误:致命:找不到远程 ref master
- r - 如何使用 R 中的 for 循环填充列表?
- java - 为什么字符串在java中是不可变的
- dafny - 对于 Dafny 中的数组,old(a[0]) 和 old(a)[0] 有什么区别
- sql - 如何使用 return next 返回自定义记录
- c++ - 根据需求在 C++ 中定义函数原型
- reactjs - 如何模拟和测试 MaterialUI - makeStyles
- python-3.x - Numba 字典操作比纯 Python 字典操作花费的时间多 30 倍
- facebook-graph-api - GraphQL 动态查询 SQL 注入
- android - 如何从适配器更新日期到 recyclerView?