начать данные временного ряда, когда нет NaN - PullRequest
0 голосов
/ 22 января 2019

В настоящее время у меня есть данные временных рядов, к которым я применил скользящее среднее с окном 17520.

При этом раньше мои данные выглядели так:

SETTLEMENTDATE  ==
0  2006/01/01 00:30:00  8013.27833   ...     5657.67500    20.03
1  2006/01/01 01:00:00  7726.89167   ...     5460.39500    18.66
2  2006/01/01 01:30:00  7372.85833   ...     5766.02500    20.38
3  2006/01/01 02:00:00  7071.83333   ...     5503.25167    18.59
4  2006/01/01 02:30:00  6865.44000   ...     5214.01500    17.53

А теперь это выглядит так:

        SETTLEMENTDATE  =
0  2006/01/01 00:30:00         NaN   ...            NaN      NaN
1  2006/01/01 01:00:00         NaN   ...            NaN      NaN
2  2006/01/01 01:30:00         NaN   ...            NaN      NaN
3  2006/01/01 02:00:00         NaN   ...            NaN      NaN
4  2006/01/01 02:30:00         NaN   ...            NaN      NaN

Как я могу получить его, чтобы мои данные начинались только тогда, когда нет NaN? (также убедившись, что дата совпадает)

=

1 Ответ

0 голосов
/ 22 января 2019

Вы можете попробовать с rolling с min_periods = 1

data['NSW DEMAND'] = data['NSW DEMAND'].rolling(17520,min_periods=17520).mean()

Также попробуйте использовать for loo, вам не нужно писать столбцы один за другим

youcols=['xxx'...'xxx1']
for x in youcols:
    data[x]=data[x].rolling(17520,min_periods=1).mean()

База на ваших комментариях

for x in youcols:
    data[x]=data[x].rolling(17520,min_periods=1).mean()

тогда

data=data.dropna(subset=youcols,thresh =1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...