Возникают проблемы с назначением данных пустому фрейму данных в цикле for после выполнения функции фильтра - PullRequest
0 голосов
/ 28 сентября 2019

У меня есть набор данных, через который я запускаю функцию фильтра, чтобы уменьшить шум в данных.После того, как каждый столбец данных прошел через фильтр, я бы хотел, чтобы эти данные были назначены пустому фрейму данных, который был вызван (отфильтрован).Вот что я пробовал до сих пор:

  • Я изначально пытался использовать только Filter.assign (e = [xhat]), но мой фрейм данных вернулся бы пустым.
  • У меня естьсделал отфильтрованный пустой список использованным filter.append, но возвращаемые массивы не соответствуют исходным наблюдениям строк
  • Последней попыткой была попытка использовать другой цикл for для Filter.assign, чтобы увидеть, будет ли это работать, ноЯ все еще получаю пустой фрейм данных.

'

    # by Andrew D. Straw
    import numpy as np
    import matplotlib.pyplot as plt
    # dataframe created to hold filtered data
    filtered = pd.DataFrame()

    # intial parameters
    for column in data:
        n_iter = len(data.index) #number of iterations equal to sample numbers
        sz = (n_iter,) # size of array
        z =  data[column] # observations
        Q = 1e-5 # process variance

    # allocate space for arrays
    xhat=np.zeros(sz)      # a posteri estimate of x
    P=np.zeros(sz)         # a posteri error estimate
    xhatminus=np.zeros(sz) # a priori estimate of x
    Pminus=np.zeros(sz)    # a priori error estimate
    K=np.zeros(sz)         # gain or blending factor
    R = 1.0**2 # estimate of measurement variance, change to see effect

    # intial guesses
    xhat[0] = z[0]
    P[0] = 1.0

    for k in range(1,n_iter):
        # time update
        xhatminus[k] = xhat[k-1]
        Pminus[k] = P[k-1]+Q

        # measurement update
        K[k] = Pminus[k]/( Pminus[k]+R )
        xhat[k] = xhatminus[k]+K[k]*(z[k]-xhatminus[k])
        P[k] = (1-K[k])*Pminus[k]
        # add new data to created dataframe
    for i in xhat:
        filtered.assign(e=i)

filtered.info()
<class 'pandas.core.frame.DataFrame'>
Index: 0 entries
Empty DataFrame
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...