我正在尝试在 Python 中 reshape 数组并用平均值填充它。 示例:
- 给定数组:[2, 3, -20, 10, 4]
- 搜索数组:[2, 2.5, 3, -8.5, -20, -5,10,7,4]
更高级:我有一个包含 1000 个样本的数组。但我知道它应该有 1300 个样本长。如何将数组缩放到新的长度并用平均值填充它? 插值的解决方案也能让我高兴
编辑: 有人问我一个例子,分布良好的值是什么意思。例如:传感器应以 100Hz 传输数据。但有时传感器无法提供完整的采样频率。我没有在 13 秒内获取 1300 个样本,而是获取 900 到 1300 个样本之间的随机数量。我不知道什么时候缺少一个值。我想将缺失值均匀分布在整个数组上,并为它们分配一个有意义的值。
谢谢
最佳答案
这取决于您所说的“分布均匀的值”的含义。假设您的值位于均匀间隔的网格上,则使用插值的以下解决方案可能有意义:
>>> import numpy as np
>>> new_length = 9
>>> b = np.interp(np.linspace(0,len(a)-1,new_length),range(len(a)),a)
>>> b
array([ 2. , 2.5, 3. , -8.5, -20. , -5. , 10. , 7. , 4. ])
如果 len(a)=1000
和 new_length=1300
,这也将起作用。
关于python - 在Python中 reshape xAxis上的数组并用平均值填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33961787/