SciPy Medfilt只返回0个值

2024-06-01 23:14:02 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我正在编写一个代码,它计算数据集中给定窗口大小的中值。我用的是SciPy的medfilt。我不明白为什么返回的中值数组都是零。我改变了内核的大小,但这并没有影响任何东西,我想知道我的数组的形状是否会影响medfilt。这是我的代码:

    from __future__ import division
    import numpy as np
    import matplotlib.pyplot as plt
    import scipy as sp
    from scipy import signal

    filename = "hbond.txt"
    hbond_val = []
    with open(filename,'r') as f:
        for line in f:
            f_line = np.array(line.split())
            hbond_val.append(f_line)
    bond_array = np.asarray(hbond_val)
    bond_array_float = bond_array.astype(float)
    bond_1d = np.reshape(bond_array_float,50001)
    #print bond_1d.shape
    median = sp.signal.medfilt(bond_array_float,101)
    #plt.plot(range(len(bond_array)),bond_array,'b')
    #plt.plot(range(len(median)),median,'r')
    #plt.show()
    print median #median returns array full of zeros

Tags: 代码fromimportasnplinepltval