gpt4 book ai didi

python - 使用平均方法下采样

转载 作者:太空宇宙 更新时间:2023-11-03 21:36:40 31 4
gpt4 key购买 nike

我有一个 2 维数据框,我想按行进行下采样。因此,如果我有一个 100x2000 数据帧,我希望它是 100x500 。我尝试过滚动平均值,但输出的尺寸是基于列重新采样的,并且仍然是原始形状。尝试寻找其他方法我也发现了 signal.resample 但我相信它不适合我的场景。如果我有 [2,4,6,8,10,12,14,16,18] 我想将其作为输出 [4,10,16] 这意味着 3 个数字的滑动窗口,同时计算平均值

有什么想法吗?

谢谢

最佳答案

使用numpy.convolve:

import numpy as np

arr = np.array([2,4,6,8,10,12,14,16,18])
n = 3
window = (1.0 / n) * np.ones(n,)
res = np.convolve(arr, window, mode='valid')[::n]

对于 2 x N 数组:

from scipy import signal

arr = np.array([[2,4,6,8,10,12,14,16,18], [12,14,16,18,110,112,114,116,118]])
window = (1.0 / n) * np.ones((1, n))
#res = np.convolve(arr, window, mode='valid')[::n]
res = signal.convolve2d(arr, window, mode='valid')[:, ::n]

关于python - 使用平均方法下采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53204864/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com